Knowledge (XXG)

File system API

Source 📝

25: 425:(DOS 4.0 onward) and compatibles to support CD-ROM and network file systems. Instead of adding code to the kernel, as in the old scheme, or using kernel facilities as in the kernel-based scheme, it traps all calls to a file and identifies if it should be redirected to the kernel's equivalent function or if it has to be handled by the specific filesystem driver, and the filesystem driver "directly" access the disk contents using low-level 381:
thresholds. These may cause user access to be suspended to a specific structure (usually to the displeasure of the user or users effected) or may be started as low priority asynchronous tasks or they may be deferred to a time of low user activity. Sometimes these routines are invoked or scheduled by the system manager or as in the case of
482:) for VFAT, the ISO9660 filesystem driver (along with Joliet), network shares, and third party filesystem drivers, as well as adding to the original DOS APIs the LFN API (that IFS drivers can not only intercept the already existent DOS file APIs but also add new ones from within the 32-bit protected mode executable). 377:
blocks included in linked structures. Incomplete structures or other inconsistencies may be caused by device or media errors, inadequate time between detection of impending loss of power and actual power loss, improper system shutdown or media removal, and on very rare occasions file system coding errors.
531:
For example, the ext2 driver for OS/2 is simply a wrapper from the Linux's VFS to the OS/2's IFS and the Linux's ext2 kernel-based, and the HFS driver for OS/2 is a port of the hfsutils to the OS/2's IFS. There also exists a project that uses a Windows NT IFS driver for making NTFS work under Linux.
376:
As a filesystem is used directories, files and records may be added, deleted or modified. This usually causes inefficiencies in the underlying data structures. Things like logically sequential blocks distributed across the media in a way that causes excessive repositioning, partially used even empty
348:
Some of the metadata is maintained by the file system, for example last-modification date (and various other dates depending on the file system), location of the beginning of the file, the size of the file and if the file system backup utility has saved the current version of the files. These items
259:
API may be explicitly requested or implicitly invoked upon the issuance of the first operation by a process on an object. It may cause the mounting of removable media, establishing a connection to another host and validating the location and accessibility of the object. It updates system structures
224:
Writing user data to a file system is provided for use directly by the user program or the run-time library. The run-time library for some programming languages may provide type conversion, formatting and blocking. Some file systems provide identification of records by key and may include re-writing
356:
Some applications store more metadata. For images the metadata may include the camera model and settings used to take the photo. For audio files, the meta data may include the album, artist who recorded the recording and comments about the recording which may be specific to a particular copy of the
352:
Additional meta data supported by some file systems may include the owner of the file, the group to which the file belongs as well as permissions and/or access control (i.e. What access and updates various users or groups may perform), and whether the file is normally visible when the directory is
319:
may cause dismounting or ejecting removable media and updating library and file system structures to indicate that the object is no longer in use. The minimal specification to the close references the object. Additionally, some file systems provide specifying a disposition of the object which may
306:
Depending on the programming language, additional specifications in the open may establish the modules to handle these conditions. Some libraries specify a library module to the file system permitting analysis should the opening program be unable to perform any meaningful action as a result of a
380:
Specialized routines in the file system are included to optimize or repair these structures. They are not usually invoked by the user directly but triggered within the file system itself. Internal counters of the number of levels of structures, number of inserted objects may be compared against
281:
a declaration that other processes may access the same object while the opening process is using the object (sharing). This may depend on the intent of the other process. In contrast, a declaration that no other process may access the object regardless of the other processes intent (exclusive
403:
With modular kernels it allows adding filesystems as any kernel module, even third party ones. With non-modular kernels however it requires the kernel to be recompiled with the new filesystem code (and in closed-source kernels, this makes third party filesystem impossible).
396:
It differs with the old schema in that the kernel itself uses its own facilities to talk with the filesystem driver and vice versa, as contrary to the kernel being the one that handles the filesystem layout and the filesystem the one that directly access the hardware.
507:
The advantage is that a filesystem can be made portable between operating systems as the high-level operating system functions it uses can be as common as ANSI C, but the disadvantage is that the API is unique to each application that implements one.
307:
failure. For example, if the failure is on the attempt to open the necessary input file, the only action may be to report the failure and abort the program. Some languages simply return a code indicating the type of failure which
527:
As all filesystems (at least the disk ones) need equivalent functions provided by the kernel, it is possible to easily port a filesystem code from one API to another, even if they are of different types.
365:
Renaming a file, moving a file (or a subdirectory) from one directory to another and deleting a file are examples of the operations provide by the file system for the management of directories.
330:
A device error may occur on the media where the object is stored while writing buffered data, the completion structure or updating meta data related to the object (for example last access time).
440:
It is a cleaner scheme as the filesystem code is totally independent, it allows filesystems to be created for closed-source kernels and online filesystem additions or removals from the system.
470:
for providing a FAT filesystem driver in 32-bit protected mode, and cached, (VFAT) that bypassed the DOS FAT driver in the kernel (MSDOS.SYS) completely, and later in the Windows 9x series (
357:
file (i.e. different copies of the same recording may have different comments as update by the owner of the file). Documents may include items like checked-by, approved-by, etc.
286:
These are requested via a programming language library which may provide coordination among modules in the process in addition to forwarding the request to the file system.
242:, may include a direction (forward or reverse) or in the case of a keyed file system, a specific key. As with writing run-time libraries may intercede for the user program. 100:
through which a utility or user program requests services of a file system. An operating system may provide abstractions for accessing different file systems transparently.
103:
Some file system APIs may also include interfaces for maintenance operations, such as creating or initializing a file system, verifying the file system for integrity, and
437:
The API is "driver-based" when the kernel provides facilities but the file system code resides totally external to the kernel (not even as a module of a modular kernel).
245:
Positioning includes adjusting the location of the next record. This may include skipping forward or reverse as well as positioning to the beginning or end of the file.
54: 393:
The API is "kernel-level" when the kernel not only provides the interfaces for the filesystems developers but is also the space in which the filesystem code resides.
485:
However that API was not completely documented, and third parties found themselves in a "make-it-by-yourself" scenario even worse than with kernel-based APIs.
327:
There may not be sufficient capacity on the media to save any data being buffered or to output a structure indicating that the object was successfully updated.
463:
In this API all filesystems are in the kernel, like in kernel-based APIs, but they are automatically trapped by another API, that is driver-based, by the OS.
2000: 497:
when the filesystem does not directly use kernel facilities but accesses disks using high-level operating system functions and provides functions in a
320:
indicate the object is to be discarded and no longer be part of the file system. Similar to the open, it must be expected that something may go wrong.
556: 721: 696: 181:
As additional file system types, hierarchy structure and supported media increased, additional features needed some specialized functions:
1953: 1428: 368:
Metadata operations such as permitting or restricting access the a directory by various users or groups of users are usually included.
1943: 1114: 923: 1565: 625: 615: 605: 595: 97: 76: 1231: 953: 913: 293:
The object or intent may be improperly specified (the name may include an unacceptable character or the intent is unrecognized).
2005: 1010: 239: 226: 1948: 1364: 938: 37: 1869: 1717: 1649: 943: 750: 47: 41: 33: 1754: 1744: 1734: 1126: 716: 689: 541: 640: 296:
The process may be prohibited from accessing the object (it may be only accessible by a group or specific user).
58: 1819: 1672: 1575: 1520: 1395: 1251: 1020: 1918: 1874: 1856: 1555: 1545: 1000: 562: 452: 299:
The file system may be unable to create or update structures required to coordinate activities among users.
1764: 1729: 1667: 1146: 966: 830: 760: 1900: 1809: 1759: 1702: 1448: 1418: 1369: 1321: 1221: 1194: 1071: 961: 874: 765: 682: 353:
listed. These items are usually modifiable by file system utilities which may be executed by the owner.
119: 400:
It is not the cleanest scheme but resolves the difficulties of major rewrite that has the old scheme.
333:
A specification to release the object may be inconsistent with other processes still using the object.
1974: 1935: 1749: 1479: 1468: 1443: 1380: 1084: 901: 891: 847: 812: 568: 669: 1979: 1925: 1864: 1453: 1121: 1062: 978: 573: 498: 315: 1969: 1831: 1794: 1707: 1433: 1423: 1408: 1349: 1179: 842: 835: 822: 775: 551: 255: 302:
In the case of a new (or replacement) object, there may not be sufficient capacity on the media.
1784: 1724: 1560: 1246: 1216: 1208: 1077: 973: 948: 770: 621: 611: 601: 591: 111: 654: 1804: 1712: 1510: 1160: 1104: 793: 649: 1826: 1334: 728: 644: 382: 270:
The intended type of operations to be performed after the open (reads, updates, deletions)
194: 104: 1814: 1799: 1739: 917: 788: 162:
More coordination such as device allocation and deallocation required the addition of:
1994: 1844: 1789: 1463: 1403: 1262: 610:
Wiley - UNIX Filesystems: Evolution, Design, and Implementation - By Steve D. Pate -
590:
O'Reilly - Windows NT File System Internals, A Developer's Guide - By Rajeev Nagar -
289:
It must be expected that something may go wrong during the processing of the open.
1908: 1616: 1204: 1171: 1109: 1089: 110:
Each operating system includes the APIs needed for the file systems it supports.
1606: 705: 546: 467: 151: 91: 1884: 1682: 494: 479: 475: 471: 444: 1839: 1580: 1458: 1189: 1057: 1052: 411: 263:
Usual requirements for requesting access to a file system object include:
1657: 1601: 1570: 1359: 1184: 1040: 933: 886: 780: 659: 512: 150:
Some early operating systems were capable of handling only tape and disk
135: 337:
Considerations for handling a failure are similar to those of the open.
267:
The object which is to be accessed (file, directory, media and location)
1611: 1585: 1412: 1045: 1015: 906: 862: 170:
As file systems provided more services, more interfaces were defined:
637: 516: 311:
by the program, which decides what to report and if it can continue.
1621: 1530: 1525: 1329: 1030: 422: 600:
Microsoft Press - Inside Windows NT File System - By Helen Custer -
1879: 1677: 1662: 1639: 1634: 1629: 1540: 1535: 1473: 1354: 1307: 1302: 1295: 1290: 1285: 1280: 1236: 1226: 1131: 1099: 993: 988: 983: 879: 807: 755: 415: 139: 123: 1550: 1515: 1505: 1500: 1438: 1374: 1344: 1339: 1275: 1270: 1241: 1150: 1141: 1094: 1035: 1005: 896: 867: 857: 852: 817: 799: 664: 448: 426: 407: 131: 127: 115: 678: 674: 1156: 1136: 1025: 927: 18: 501:
that a series of utilities use to access the filesystem.
345:
Information about the data in a file is called metadata.
620:
Microsoft Press - Inside Windows NT - By Helen Custer -
225:
an existing record. This operation is sometimes called
274:
Additional information may be necessary, for example
154:. These provided the most basic of interfaces with: 1962: 1934: 1899: 1855: 1773: 1695: 1648: 1594: 1489: 1394: 1320: 1260: 1203: 1170: 737: 638:
Filesystem Specifications and Technical Whitepapers
324:The specification of the object may be incorrect. 46:but its sources remain unclear because it lacks 690: 349:cannot usually be altered by a user program. 8: 421:There is a variation of this scheme used in 523:Interoperatibility between file system APIs 1777: 1493: 1257: 743: 697: 683: 675: 504:This is useful for handling disk images. 77:Learn how and when to remove this message 557:Filing Open Service Interface Definition 260:to indicate that the object is in use. 670:A FileSystem Abstraction System for Go 200:Multi-user systems required APIs for: 238:Reading user data, sometimes called 7: 2001:Application programming interfaces 14: 98:application programming interface 16:Application programming interface 511:Examples of this scheme are the 443:Examples of this scheme are the 23: 418:have used this modular scheme. 1: 459:Mixed kernel-driver-based API 126:systems can include APIs for 1870:Filesystem-level encryption 2022: 717:Comparison of file systems 542:Comparison of file systems 1780: 1496: 746: 712: 188:Data structure management 114:has file system APIs for 1820:Extended file attributes 1521:Compact Disc File System 466:This scheme was used in 220:Write, read and position 158:Write, read and position 32:This article includes a 1919:Installable File System 650:A Tour of the Linux VFS 563:Installable File System 235:(if the record exists) 177:File system maintenance 61:more precise citations. 967:TiVo Media File System 831:Encrypting File System 372:Filesystem maintenance 309:always must be checked 2006:Computer file systems 962:Macintosh File System 1975:GUID Partition Table 1322:Distributed parallel 1070:Shared File System ( 569:List of file systems 361:Directory management 185:Directory management 1980:Apple Partition Map 1926:Virtual file system 1865:Access-control list 979:NetWare File System 574:Virtual file system 341:Metadata management 195:Non-data operations 174:Metadata management 1970:Master Boot Record 1795:Data deduplication 1434:Google File System 1350:Google File System 836:Extent File System 798:Byte File System ( 655:Microsoft's IFSKit 643:2015-11-03 at the 552:Filename extension 493:The API is in the 207:Restricting access 34:list of references 1988: 1987: 1895: 1894: 1785:Case preservation 1691: 1690: 1390: 1389: 1316: 1315: 1078:Smart File System 191:Record management 112:Microsoft Windows 87: 86: 79: 2013: 1805:Execute in place 1778: 1511:Boot File System 1494: 1258: 794:Boot File System 744: 699: 692: 685: 676: 433:Driver-based API 414:systems such as 389:Kernel-level API 234: 229: 82: 75: 71: 68: 62: 57:this article by 48:inline citations 27: 26: 19: 2021: 2020: 2016: 2015: 2014: 2012: 2011: 2010: 1991: 1990: 1989: 1984: 1958: 1930: 1914:File system API 1891: 1851: 1827:File change log 1769: 1745:Record-oriented 1718:Self-certifying 1687: 1644: 1590: 1485: 1386: 1312: 1256: 1199: 1166: 739: 733: 729:Unix filesystem 708: 703: 645:Wayback Machine 634: 587: 582: 538: 525: 491: 461: 435: 391: 383:defragmentation 374: 363: 343: 251: 232: 227: 222: 217: 148: 142:to name a few. 105:defragmentation 83: 72: 66: 63: 52: 38:related reading 28: 24: 17: 12: 11: 5: 2019: 2017: 2009: 2008: 2003: 1993: 1992: 1986: 1985: 1983: 1982: 1977: 1972: 1966: 1964: 1960: 1959: 1957: 1956: 1954:Log-structured 1951: 1946: 1940: 1938: 1932: 1931: 1929: 1928: 1923: 1922: 1921: 1911: 1905: 1903: 1897: 1896: 1893: 1892: 1890: 1889: 1888: 1887: 1882: 1872: 1867: 1861: 1859: 1857:Access control 1853: 1852: 1850: 1849: 1848: 1847: 1842: 1834: 1829: 1824: 1823: 1822: 1815:File attribute 1812: 1807: 1802: 1800:Data scrubbing 1797: 1792: 1787: 1781: 1775: 1771: 1770: 1768: 1767: 1762: 1757: 1755:Steganographic 1752: 1747: 1742: 1737: 1735:Log-structured 1732: 1727: 1722: 1721: 1720: 1715: 1710: 1699: 1697: 1693: 1692: 1689: 1688: 1686: 1685: 1680: 1675: 1670: 1665: 1660: 1654: 1652: 1646: 1645: 1643: 1642: 1637: 1632: 1627: 1624: 1619: 1614: 1609: 1604: 1598: 1596: 1592: 1591: 1589: 1588: 1583: 1578: 1573: 1568: 1563: 1558: 1553: 1548: 1543: 1538: 1533: 1528: 1523: 1518: 1513: 1508: 1503: 1497: 1491: 1487: 1486: 1484: 1483: 1476: 1471: 1466: 1461: 1456: 1451: 1446: 1441: 1436: 1431: 1426: 1421: 1416: 1406: 1400: 1398: 1392: 1391: 1388: 1387: 1385: 1384: 1377: 1372: 1367: 1362: 1357: 1352: 1347: 1342: 1337: 1332: 1326: 1324: 1318: 1317: 1314: 1313: 1311: 1310: 1305: 1300: 1299: 1298: 1288: 1283: 1278: 1273: 1267: 1265: 1255: 1254: 1249: 1244: 1239: 1234: 1229: 1224: 1219: 1213: 1211: 1201: 1200: 1198: 1197: 1192: 1187: 1182: 1176: 1174: 1168: 1167: 1165: 1164: 1154: 1144: 1139: 1134: 1129: 1124: 1119: 1118: 1117: 1112: 1102: 1097: 1092: 1087: 1082: 1081: 1080: 1075: 1065: 1060: 1058:Reliance Nitro 1055: 1050: 1049: 1048: 1038: 1033: 1028: 1023: 1018: 1013: 1008: 1003: 998: 997: 996: 986: 981: 976: 971: 970: 969: 964: 956: 951: 946: 941: 936: 931: 921: 918:Classic Mac OS 911: 910: 909: 899: 894: 889: 884: 883: 882: 872: 871: 870: 865: 860: 855: 845: 840: 839: 838: 833: 825: 820: 815: 810: 805: 804: 803: 796: 791: 789:Be File System 783: 778: 773: 768: 763: 758: 753: 747: 741: 735: 734: 732: 731: 726: 725: 724: 713: 710: 709: 704: 702: 701: 694: 687: 679: 673: 672: 667: 662: 657: 652: 647: 633: 632:External links 630: 629: 628: 618: 608: 598: 586: 583: 581: 578: 577: 576: 571: 566: 560: 554: 549: 544: 537: 534: 524: 521: 490: 489:User space API 487: 460: 457: 434: 431: 390: 387: 373: 370: 362: 359: 342: 339: 335: 334: 331: 328: 325: 304: 303: 300: 297: 294: 284: 283: 279: 272: 271: 268: 250: 249:Open and close 247: 221: 218: 216: 213: 212: 211: 208: 205: 198: 197: 192: 189: 186: 179: 178: 175: 168: 167: 166:Open and close 160: 159: 147: 144: 122:file systems. 85: 84: 42:external links 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 2018: 2007: 2004: 2002: 1999: 1998: 1996: 1981: 1978: 1976: 1973: 1971: 1968: 1967: 1965: 1961: 1955: 1952: 1950: 1947: 1945: 1944:Cryptographic 1942: 1941: 1939: 1937: 1933: 1927: 1924: 1920: 1917: 1916: 1915: 1912: 1910: 1907: 1906: 1904: 1902: 1898: 1886: 1883: 1881: 1878: 1877: 1876: 1873: 1871: 1868: 1866: 1863: 1862: 1860: 1858: 1854: 1846: 1843: 1841: 1838: 1837: 1835: 1833: 1830: 1828: 1825: 1821: 1818: 1817: 1816: 1813: 1811: 1808: 1806: 1803: 1801: 1798: 1796: 1793: 1791: 1790:Copy-on-write 1788: 1786: 1783: 1782: 1779: 1776: 1772: 1766: 1763: 1761: 1758: 1756: 1753: 1751: 1748: 1746: 1743: 1741: 1738: 1736: 1733: 1731: 1728: 1726: 1723: 1719: 1716: 1714: 1711: 1709: 1706: 1705: 1704: 1701: 1700: 1698: 1694: 1684: 1681: 1679: 1676: 1674: 1671: 1669: 1666: 1664: 1661: 1659: 1656: 1655: 1653: 1651: 1647: 1641: 1638: 1636: 1633: 1631: 1628: 1625: 1623: 1620: 1618: 1615: 1613: 1610: 1608: 1605: 1603: 1600: 1599: 1597: 1593: 1587: 1584: 1582: 1579: 1577: 1574: 1572: 1569: 1567: 1564: 1562: 1559: 1557: 1554: 1552: 1549: 1547: 1544: 1542: 1539: 1537: 1534: 1532: 1529: 1527: 1524: 1522: 1519: 1517: 1514: 1512: 1509: 1507: 1504: 1502: 1499: 1498: 1495: 1492: 1488: 1482: 1481: 1477: 1475: 1472: 1470: 1467: 1465: 1462: 1460: 1457: 1455: 1452: 1450: 1447: 1445: 1442: 1440: 1437: 1435: 1432: 1430: 1427: 1425: 1422: 1420: 1417: 1414: 1410: 1407: 1405: 1402: 1401: 1399: 1397: 1393: 1383: 1382: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1351: 1348: 1346: 1343: 1341: 1338: 1336: 1333: 1331: 1328: 1327: 1325: 1323: 1319: 1309: 1306: 1304: 1301: 1297: 1294: 1293: 1292: 1289: 1287: 1284: 1282: 1279: 1277: 1274: 1272: 1269: 1268: 1266: 1264: 1263:wear leveling 1259: 1253: 1250: 1248: 1245: 1243: 1240: 1238: 1235: 1233: 1230: 1228: 1225: 1223: 1220: 1218: 1215: 1214: 1212: 1210: 1206: 1202: 1196: 1193: 1191: 1188: 1186: 1183: 1181: 1178: 1177: 1175: 1173: 1169: 1162: 1158: 1155: 1152: 1148: 1145: 1143: 1140: 1138: 1135: 1133: 1130: 1128: 1125: 1123: 1120: 1116: 1113: 1111: 1108: 1107: 1106: 1103: 1101: 1098: 1096: 1093: 1091: 1088: 1086: 1083: 1079: 1076: 1073: 1069: 1068: 1066: 1064: 1061: 1059: 1056: 1054: 1051: 1047: 1044: 1043: 1042: 1039: 1037: 1034: 1032: 1029: 1027: 1024: 1022: 1019: 1017: 1014: 1012: 1009: 1007: 1004: 1002: 999: 995: 992: 991: 990: 987: 985: 982: 980: 977: 975: 972: 968: 965: 963: 960: 959: 957: 955: 952: 950: 947: 945: 942: 940: 937: 935: 932: 929: 925: 922: 919: 915: 912: 908: 905: 904: 903: 900: 898: 895: 893: 890: 888: 885: 881: 878: 877: 876: 873: 869: 866: 864: 861: 859: 856: 854: 851: 850: 849: 846: 844: 841: 837: 834: 832: 829: 828: 826: 824: 821: 819: 816: 814: 811: 809: 806: 801: 797: 795: 792: 790: 787: 786: 784: 782: 779: 777: 774: 772: 769: 767: 764: 762: 759: 757: 754: 752: 749: 748: 745: 742: 736: 730: 727: 723: 720: 719: 718: 715: 714: 711: 707: 700: 695: 693: 688: 686: 681: 680: 677: 671: 668: 666: 663: 661: 658: 656: 653: 651: 648: 646: 642: 639: 636: 635: 631: 627: 626:1-55615-481-X 623: 619: 617: 616:0-471-16483-6 613: 609: 607: 606:1-55615-660-X 603: 599: 597: 596:1-56592-249-2 593: 589: 588: 584: 579: 575: 572: 570: 567: 564: 561: 558: 555: 553: 550: 548: 545: 543: 540: 539: 535: 533: 529: 522: 520: 518: 514: 509: 505: 502: 500: 496: 488: 486: 483: 481: 477: 473: 469: 464: 458: 456: 454: 450: 446: 441: 438: 432: 430: 428: 424: 419: 417: 413: 409: 405: 401: 398: 394: 388: 386: 384: 378: 371: 369: 366: 360: 358: 354: 350: 346: 340: 338: 332: 329: 326: 323: 322: 321: 318: 317: 312: 310: 301: 298: 295: 292: 291: 290: 287: 280: 277: 276: 275: 269: 266: 265: 264: 261: 258: 257: 248: 246: 243: 241: 236: 230: 219: 215:API overviews 214: 209: 206: 203: 202: 201: 196: 193: 190: 187: 184: 183: 182: 176: 173: 172: 171: 165: 164: 163: 157: 156: 155: 153: 145: 143: 141: 137: 133: 129: 125: 121: 117: 113: 108: 106: 101: 99: 95: 93: 81: 78: 70: 60: 56: 50: 49: 43: 39: 35: 30: 21: 20: 1913: 1909:File manager 1478: 1379: 1205:Flash memory 1172:Optical disc 1110:soft updates 1090:Soup (Apple) 740:non-rotating 706:File systems 530: 526: 510: 506: 503: 492: 484: 465: 462: 442: 439: 436: 420: 406: 402: 399: 395: 392: 379: 375: 367: 364: 355: 351: 347: 344: 336: 314: 313: 308: 305: 288: 285: 273: 262: 254: 252: 244: 237: 223: 199: 180: 169: 161: 152:file systems 149: 118:and several 109: 102: 90: 88: 73: 67:January 2017 64: 53:Please help 45: 1875:Permissions 1490:Specialized 722:distributed 547:File system 468:Windows 3.1 451:respective 429:functions. 92:file system 59:introducing 1995:Categories 1901:Interfaces 1885:Sticky bit 1765:Versioning 1730:Journaling 1673:Rubberhose 1469:SMB (CIFS) 1261:host-side 580:References 495:user space 445:Windows NT 278:a password 210:Encryption 1760:Synthetic 1703:Clustered 1650:Encrypted 1581:OverlayFS 1190:ISO 13490 766:Amiga OFS 761:Amiga FFS 412:Unix-like 1845:Symbolic 1774:Features 1750:Semantic 1658:eCryptfs 1602:configfs 1571:SquashFS 1459:POHMELFS 1360:OrangeFS 1185:ISO 9660 1105:UFS/UFS2 1053:Reliance 1041:ReiserFS 887:Files-11 781:bcachefs 738:Disk and 660:hfsutils 641:Archived 536:See also 515:and the 513:hfsutils 136:ReiserFS 1963:Layouts 1949:Default 1612:debugfs 1586:UnionFS 1480:more... 1413:OpenAFS 1381:more... 1046:Reiser4 1016:OpenZFS 907:HAMMER2 863:ext3cow 843:Episode 585:Sources 499:library 204:Sharing 146:History 55:improve 1836:Links 1810:Extent 1740:Object 1708:Global 1626:specfs 1622:procfs 1617:kernfs 1595:Pseudo 1576:UMSDOS 1531:Davfs2 1526:cramfs 1464:Hadoop 1444:Lustre 1330:BeeGFS 1296:NILFS2 1031:QNX4FS 994:NILFS2 902:HAMMER 892:Fossil 665:adflib 624:  614:  604:  594:  559:(OSID) 517:adflib 423:MS-DOS 408:Unixes 138:, and 96:is an 1936:Lists 1880:Modes 1725:Flash 1696:Types 1678:SSHFS 1663:EncFS 1640:WinFS 1635:tmpfs 1630:sysfs 1607:devfs 1541:FTPFS 1536:EROFS 1474:SSHFS 1355:OCFS2 1308:UBIFS 1303:YAFFS 1291:NILFS 1286:LogFS 1281:JFFS2 1237:EROFS 1227:exFAT 1132:Xiafs 1115:WAPBL 1100:UBIFS 1011:OneFS 989:NILFS 984:Next3 974:MINIX 880:exFAT 808:Btrfs 776:AthFS 756:AdvFS 565:(IFS) 416:Linux 316:Close 282:use). 140:Btrfs 124:Linux 40:, or 1840:Hard 1832:Fork 1713:Grid 1566:MVFS 1561:NOVA 1556:LTFS 1551:Lnfs 1546:FUSE 1516:CDfs 1506:AXFS 1501:Aufs 1439:GPFS 1424:Coda 1375:Xsan 1365:PVFS 1345:GFS2 1340:CXFS 1335:Ceph 1276:JFFS 1271:CHFS 1252:NVFS 1242:F2FS 1232:TFAT 1217:APFS 1207:and 1151:z/OS 1142:Xsan 1127:WAFL 1122:VxFS 1095:Tux3 1085:SNFS 1067:SFS 1036:ReFS 1006:NTFS 958:MFS 944:HTFS 939:HPFS 934:HFS+ 897:GPFS 868:ext4 858:ext3 853:ext2 827:EFS 818:CXFS 813:CVFS 800:z/VM 785:BFS 771:APFS 751:ADFS 622:ISBN 612:ISBN 602:ISBN 592:ISBN 478:and 453:IFSs 449:OS/2 447:and 427:BIOS 410:and 256:open 253:The 233:PUTX 132:ext3 128:ext2 116:NTFS 1683:ZFS 1668:EFS 1454:NFS 1449:NCP 1429:DFS 1419:AFP 1409:AFS 1396:NAS 1370:QFS 1247:JFS 1222:FAT 1209:SSD 1195:UDF 1180:HSF 1161:Sun 1157:ZFS 1147:zFS 1137:XFS 1063:RFS 1026:QFS 1021:PFS 1001:NSS 954:LFS 949:JFS 928:MVS 924:HFS 914:HFS 875:FAT 848:ext 823:DFS 240:GET 231:or 228:PUT 120:FAT 94:API 1997:: 1404:9P 1072:VM 519:. 480:Me 476:98 474:, 472:95 455:. 385:. 134:, 130:, 107:. 89:A 44:, 36:, 1415:) 1411:( 1163:) 1159:( 1153:) 1149:( 1074:) 930:) 926:( 920:) 916:( 802:) 698:e 691:t 684:v 80:) 74:( 69:) 65:( 51:.

Index

list of references
related reading
external links
inline citations
improve
introducing
Learn how and when to remove this message
file system
application programming interface
defragmentation
Microsoft Windows
NTFS
FAT
Linux
ext2
ext3
ReiserFS
Btrfs
file systems
Non-data operations
PUT
GET
open
Close
defragmentation
Unixes
Unix-like
Linux
MS-DOS
BIOS

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.