Knowledge (XXG)

NOVA (filesystem)

Source đź“ť

3566: 3090: 3578: 3102: 216: 345:(COW) to update file data. When a program writes data to a file, NOVA allocates some unused memory pages to hold the data and writes the data into them. Then, it appends a log entry to the inode's log that points to the new pages and describes their logical location in the file. Since appending the log entry is atomic, the write is also atomic. 3552: 3076: 402:
When NOVA reads a page, it confirms the checksum on each strip. If one of the strips is corrupt, it tries to recover the strip using the parity bits. If no other strips have experienced data corruption, recovery will succeed. Otherwise, recovery fails, the contents of the page are lost, and NOVA
382:
Whenever NOVA accesses a metadata structure, it first recomputes the checksum on both the primary and the replica. If either check results in a mismatch, NOVA repairs the damage using the other copy. If neither checksum matches, then the structure is lost and NOVA returns an error.
357:
mechanisms. First, it writes the new log entries to ends of the inodes that the operation will affect, then it uses the journal to record the necessary updates to the inodes' log tail pointers. Next, it marks the journal as committed and applies the updates to the tail pointers.
161:
NOVA is designed specifically for byte-addressable persistent memories and aims to provide high-performance, atomic file and metadata operations, and fault tolerance. To meet these goals NOVA combines several techniques found in other file systems. NOVA uses
378:
checksum that allows NOVA to detect if structures contents have changed with its knowledge. NOVA also stores two copies of each data structure â€“ the "primary" and the "replica" â€“ and stores them far from one another in memory.
320:
can operate on inodes in parallel. Second, the logs do not contain file data, but only metadata updates, resulting in smaller logs. Third, the logs are not stored in physically contiguous memory. Instead, NOVA stores the logs in a
328:
NOVA uses the logs to provide atomicity for operations that affect a single file (e.g., writing to a file or modifying its metadata). To do this, NOVA writes a log entry to empty space past the end of the log and then
312:
NOVA is primarily a log-structured file system, but it differs from other log-structured file systems in several respects. First, rather than using a single log for the entire file system, each
395:
to protect file data. It divides each 4 KB page into 512-byte strips and stores a parity strip in a dedicated region of persistent memory. It also computes (and stores a replica of) a
2652: 3261: 1941: 3266: 353:
Some file operations (e.g., moving a file from one directory to another) require modifying multiple inodes. To make these operations atomic, NOVA uses a simple
3291: 2741: 194:, in the Non-Volatile Systems Laboratory of the Computer Science and Engineering Department. Patches were initially made available for version 4.12 of the 3619: 3604: 2736: 3512: 151: 3609: 1866: 575: 550: 316:
has its own, dedicated log that records the updates to the inode. This allows for increased concurrency in file operations, since different
3570: 3525: 3094: 1807: 1282: 191: 31: 1797: 968: 777: 233: 3535: 3276: 3251: 2473: 2241: 1419: 299: 1085: 807: 767: 3271: 3140: 1971: 280: 3614: 2583: 237: 182:
parity to protect data and metadata from media errors and software bugs. It also supports checkpoints to facilitate backups.
3228: 1911: 252: 3530: 3017: 864: 3223: 2898: 1946: 1802: 1218: 792: 259: 3319: 3256: 2300: 1723: 1571: 1503: 797: 604: 43: 3357: 3218: 2999: 2813: 1931: 1859: 1608: 1598: 1588: 980: 570: 543: 163: 143: 226: 3362: 3004: 2646: 1982: 266: 3372: 3180: 2567: 2552: 2468: 2256: 2061: 1673: 1526: 1429: 1374: 1249: 1105: 874: 62: 2910: 2709: 2345: 2233: 2188: 2138: 2122: 2099: 1772: 1728: 1710: 1409: 1399: 854: 330: 248: 175: 3233: 1921: 445: 3411: 3404: 3352: 3055: 3032: 3027: 2862: 2828: 2818: 2690: 2635: 2512: 2051: 1618: 1583: 1521: 1000: 820: 684: 614: 354: 171: 3196: 3106: 3009: 1852: 1754: 1663: 1613: 1556: 1302: 1272: 1223: 1175: 1075: 1048: 925: 815: 728: 619: 536: 518: 3500: 3329: 3039: 2641: 2203: 1901: 1828: 1789: 1603: 1333: 1322: 1297: 1234: 938: 755: 745: 701: 666: 139: 3488: 3133: 2835: 2314: 2173: 2107: 1833: 1779: 1718: 1307: 975: 916: 832: 133: 81: 3377: 3243: 3213: 2989: 2823: 2409: 2309: 2246: 2168: 2163: 1951: 1823: 1685: 1648: 1561: 1287: 1277: 1262: 1203: 1033: 696: 689: 676: 629: 317: 3185: 2960: 2608: 2578: 2573: 2424: 2079: 2041: 1638: 1578: 1100: 1070: 1062: 931: 827: 802: 624: 147: 273: 3334: 3324: 3165: 2714: 2276: 1997: 1987: 1896: 1658: 1566: 1364: 1014: 958: 647: 96: 69: 3520: 3281: 2950: 2618: 2399: 1767: 1680: 1188: 582: 513: 89: 3582: 3444: 3344: 3286: 3170: 3126: 2980: 2885: 2796: 2673: 2668: 2663: 2658: 2441: 2266: 2261: 1906: 1668: 1653: 1593: 771: 642: 3598: 3494: 3466: 3437: 3430: 3382: 3314: 2915: 2731: 2537: 2527: 2286: 2158: 2036: 1698: 1643: 1317: 1257: 1116: 342: 167: 3556: 3423: 3367: 3190: 3157: 3080: 2801: 2719: 2613: 2557: 1916: 1875: 1762: 1470: 1058: 1025: 963: 943: 374:. Every metadata structure (e.g., inodes, superblocks, and log entries) contains a 371: 195: 514:
NOVA: A Log-structured File System for Hybrid Volatile/Non-volatile Main Memories
3472: 3458: 3398: 3175: 2806: 2699: 2281: 2178: 1460: 559: 322: 215: 86: 446:"NOVA: The Newest Linux File-System, Designed For Persistent Memory - Phoronix" 2893: 2868: 2855: 2760: 2748: 2678: 2588: 2074: 1977: 1936: 1738: 1536: 523: 25: 3451: 3417: 3309: 2755: 2724: 2593: 2429: 2218: 2089: 2046: 1693: 1434: 1312: 1043: 911: 906: 178:
guarantees, and it uses a combination replication, metadata checksums, and
370:
to provide protection against metadata corruption due to media errors and
3478: 2873: 2694: 2683: 2603: 2547: 2542: 2488: 2436: 2325: 2251: 1511: 1455: 1424: 1213: 1038: 894: 787: 740: 634: 450: 367: 3483: 2955: 2940: 2850: 2840: 2780: 2704: 2598: 2522: 2463: 2377: 2340: 2271: 2213: 2208: 2112: 2069: 1465: 1439: 1266: 899: 869: 760: 716: 495: 475: 240: in this section. Unsourced material may be challenged and removed. 2945: 2930: 2920: 2775: 2770: 2532: 2483: 2456: 2419: 2389: 2356: 2335: 2084: 2031: 1926: 1475: 1384: 1379: 1183: 884: 431: 420: 392: 199: 179: 112: 490: 470: 3551: 3149: 3075: 2765: 2628: 2562: 2517: 2478: 2446: 2414: 2372: 2367: 2330: 2198: 2193: 2153: 2148: 1733: 1531: 1516: 1493: 1488: 1483: 1394: 1389: 1327: 1208: 1161: 1156: 1149: 1144: 1139: 1134: 1090: 1080: 985: 953: 847: 842: 837: 733: 661: 609: 396: 375: 313: 155: 74: 491:"NOVA: a new file system for persistent memory [LWN.net]" 2845: 2623: 2451: 2382: 2026: 1404: 1369: 1359: 1354: 1292: 1228: 1198: 1193: 1129: 1124: 1095: 1004: 995: 948: 889: 859: 750: 721: 711: 706: 671: 653: 3122: 1848: 1844: 532: 528: 2925: 2903: 1010: 990: 879: 781: 519:
Hardening the NOVA File System UCSD-CSE Techreport CS2017-1018
209: 101: 202:
Linux, and not ready for merging with the upstream kernel.
399:
checksum for the eight data strips and the parity strip.
3118: 174:, and log-structured metadata updates to provide strong 3511: 3391: 3343: 3302: 3242: 3206: 3156: 3048: 2988: 2979: 2884: 2789: 2505: 2398: 2308: 2299: 2232: 2137: 2130: 2121: 2098: 2060: 2019: 2012: 1960: 1889: 1882: 1816: 1788: 1753: 1709: 1627: 1549: 1502: 1448: 1343: 1248: 1174: 1114: 1057: 1024: 591: 107: 95: 80: 68: 58: 42: 24: 3134: 1860: 544: 333:updates the inode's pointer to the log tail. 34:, Computer Science and Engineering Department 8: 465: 463: 461: 30:Jian (Andiry) Xu, Lu Zhang, Steven Swanson, 19: 3141: 3127: 3119: 2985: 2881: 2305: 2134: 2127: 2016: 1886: 1867: 1853: 1845: 1631: 1347: 1111: 597: 551: 537: 529: 18: 524:NOVA: The Fastest File System for NVDIMMs 300:Learn how and when to remove this message 3571:Free and open-source software portal 3095:Free and open-source software portal 2653:Earliest eligible virtual deadline first 471:"The NOVA filesystem [LWN.net]" 412: 152:non-volatile dual in-line memory module 7: 238:adding citations to reliable sources 3513:Professional related certifications 192:University of California, San Diego 32:University of California, San Diego 154:(NVDIMM) and 3D XPoint DIMMs) for 14: 3620:Unix file system-related software 3605:Free special-purpose file systems 3292:List of software package managers 3277:Security-focused operating system 3577: 3576: 3564: 3550: 3101: 3100: 3088: 3074: 1942:Supported computer architectures 214: 3267:Distributions that run from RAM 1972:The Linux Programming Interface 225:needs additional citations for 198:. As of 2017 it is limited to 1: 3610:Free software programmed in C 3224:GNU/Linux naming controversy 3320:Linux Documentation Project 3262:Netbook-specific comparison 1724:Filesystem-level encryption 325:of 4 KB memory pages. 3636: 3219:Criticism of desktop Linux 2814:High-performance computing 2636:Process and I/O schedulers 571:Comparison of file systems 366:NOVA uses replication and 190:NOVA was developed at the 144:log-structured file system 3544: 3229:Tanenbaum–Torvalds debate 3068: 2647:Completely Fair Scheduler 1912:Tanenbaum–Torvalds debate 1634: 1350: 600: 566: 54: 38: 2568:Kernel same-page merging 1674:Extended file attributes 1375:Compact Disc File System 2911:OS-level virtualization 1773:Installable File System 16:Open-source file system 3405:Free Software Magazine 3335:Linux User Group (LUG) 3056:List of Linux adopters 1998:Linux User Group (LUG) 821:TiVo Media File System 685:Encrypting File System 249:"NOVA" filesystem 3615:Linux kernel features 816:Macintosh File System 146:for byte-addressable 49:Linux kernel 4.13 3330:Linux Mark Institute 2642:Brain Fuck Scheduler 1902:Linux Mark Institute 1829:GUID Partition Table 1176:Distributed parallel 924:Shared File System ( 234:improve this article 138:) file system is an 2836:Real-time computing 2108:Linux Standard Base 1834:Apple Partition Map 1780:Virtual file system 1719:Access-control list 833:NetWare File System 362:Metadata protection 134:non-volatile memory 21: 3257:Distributions list 3252:General comparison 3214:Criticism of Linux 2824:Compute Node Linux 2410:C standard library 1824:Master Boot Record 1649:Data deduplication 1288:Google File System 1204:Google File System 690:Extent File System 652:Byte File System ( 403:returns an error. 3592: 3591: 3116: 3115: 3064: 3063: 2975: 2974: 2971: 2970: 2609:Network scheduler 2501: 2500: 2497: 2496: 2295: 2294: 2042:Linux kernel oops 2008: 2007: 1988:Linux conferences 1842: 1841: 1749: 1748: 1639:Case preservation 1545: 1544: 1244: 1243: 1170: 1169: 932:Smart File System 310: 309: 302: 284: 148:persistent memory 125: 124: 3627: 3580: 3579: 3569: 3568: 3567: 3557:Linux portal 3555: 3554: 3526:Linux Foundation 3325:Linux Foundation 3143: 3136: 3129: 3120: 3104: 3103: 3093: 3092: 3091: 3081:Linux portal 3079: 3078: 2986: 2882: 2691:Security Modules 2306: 2135: 2128: 2017: 1897:Linux Foundation 1887: 1869: 1862: 1855: 1846: 1659:Execute in place 1632: 1365:Boot File System 1348: 1112: 648:Boot File System 598: 553: 546: 539: 530: 501: 500: 487: 481: 480: 467: 456: 455: 442: 436: 435: 429: 427: 417: 305: 298: 294: 291: 285: 283: 242: 218: 210: 121: 118: 116: 114: 70:Operating system 22: 3635: 3634: 3630: 3629: 3628: 3626: 3625: 3624: 3595: 3594: 3593: 3588: 3565: 3563: 3549: 3540: 3507: 3387: 3339: 3298: 3282:Package manager 3238: 3202: 3181:Booting process 3152: 3147: 3117: 3112: 3089: 3087: 3073: 3060: 3044: 2991: 2967: 2951:User-mode Linux 2880: 2785: 2493: 2401: 2394: 2313: 2291: 2228: 2140: 2117: 2094: 2056: 2004: 1956: 1947:Version history 1878: 1873: 1843: 1838: 1812: 1784: 1768:File system API 1745: 1705: 1681:File change log 1623: 1599:Record-oriented 1572:Self-certifying 1541: 1498: 1444: 1339: 1240: 1166: 1110: 1053: 1020: 593: 587: 583:Unix filesystem 562: 557: 510: 505: 504: 489: 488: 484: 469: 468: 459: 444: 443: 439: 425: 423: 419: 418: 414: 409: 389: 387:Data protection 364: 351: 339: 306: 295: 289: 286: 243: 241: 231: 219: 208: 188: 111: 50: 44:Preview release 17: 12: 11: 5: 3633: 3631: 3623: 3622: 3617: 3612: 3607: 3597: 3596: 3590: 3589: 3587: 3586: 3574: 3560: 3545: 3542: 3541: 3539: 3538: 3533: 3528: 3523: 3521:CompTIA Linux+ 3517: 3515: 3509: 3508: 3506: 3505: 3498: 3491: 3486: 3481: 3476: 3469: 3464: 3463: 3462: 3448: 3445:Linux Magazine 3441: 3434: 3427: 3420: 3415: 3408: 3401: 3395: 3393: 3389: 3388: 3386: 3385: 3380: 3375: 3370: 3365: 3360: 3355: 3349: 3347: 3341: 3340: 3338: 3337: 3332: 3327: 3322: 3317: 3312: 3306: 3304: 3300: 3299: 3297: 3296: 3295: 3294: 3289: 3287:Package format 3279: 3274: 3269: 3264: 3259: 3254: 3248: 3246: 3240: 3239: 3237: 3236: 3231: 3226: 3221: 3216: 3210: 3208: 3204: 3203: 3201: 3200: 3193: 3188: 3183: 3178: 3173: 3168: 3162: 3160: 3154: 3153: 3148: 3146: 3145: 3138: 3131: 3123: 3114: 3113: 3111: 3110: 3098: 3084: 3069: 3066: 3065: 3062: 3061: 3059: 3058: 3052: 3050: 3046: 3045: 3043: 3042: 3037: 3036: 3035: 3030: 3022: 3021: 3020: 3012: 3007: 3002: 2996: 2994: 2983: 2977: 2976: 2973: 2972: 2969: 2968: 2966: 2965: 2964: 2963: 2958: 2953: 2948: 2943: 2935: 2934: 2933: 2928: 2923: 2918: 2908: 2907: 2906: 2901: 2890: 2888: 2886:Virtualization 2879: 2878: 2877: 2876: 2871: 2860: 2859: 2858: 2853: 2848: 2843: 2833: 2832: 2831: 2826: 2821: 2811: 2810: 2809: 2804: 2793: 2791: 2787: 2786: 2784: 2783: 2778: 2773: 2768: 2763: 2758: 2752: 2751: 2746: 2745: 2744: 2739: 2732:Device drivers 2728: 2727: 2722: 2717: 2712: 2707: 2702: 2697: 2687: 2686: 2681: 2676: 2674:SCHED_DEADLINE 2671: 2669:O(1) scheduler 2666: 2664:O(n) scheduler 2661: 2659:Noop scheduler 2656: 2650: 2644: 2639: 2632: 2631: 2626: 2621: 2616: 2611: 2606: 2601: 2596: 2591: 2586: 2581: 2576: 2571: 2565: 2560: 2555: 2550: 2545: 2540: 2535: 2530: 2525: 2520: 2515: 2513:Kernel modules 2509: 2507: 2503: 2502: 2499: 2498: 2495: 2494: 2492: 2491: 2486: 2481: 2476: 2471: 2466: 2461: 2460: 2459: 2454: 2449: 2444: 2439: 2434: 2433: 2432: 2422: 2417: 2406: 2404: 2396: 2395: 2393: 2392: 2387: 2386: 2385: 2375: 2370: 2365: 2362: 2359: 2354: 2351: 2348: 2343: 2338: 2333: 2328: 2323: 2319: 2317: 2303: 2297: 2296: 2293: 2292: 2290: 2289: 2284: 2279: 2274: 2269: 2267:Memory barrier 2264: 2259: 2254: 2249: 2244: 2238: 2236: 2230: 2229: 2227: 2226: 2225: 2224: 2221: 2216: 2211: 2206: 2201: 2196: 2186: 2185: 2184: 2181: 2176: 2171: 2166: 2161: 2156: 2145: 2143: 2132: 2125: 2119: 2118: 2116: 2115: 2110: 2104: 2102: 2096: 2095: 2093: 2092: 2087: 2082: 2077: 2072: 2066: 2064: 2058: 2057: 2055: 2054: 2049: 2044: 2039: 2034: 2029: 2023: 2021: 2014: 2010: 2009: 2006: 2005: 2003: 2002: 2001: 2000: 1992: 1991: 1990: 1985: 1980: 1975: 1964: 1962: 1958: 1957: 1955: 1954: 1949: 1944: 1939: 1934: 1929: 1924: 1919: 1914: 1909: 1904: 1899: 1893: 1891: 1884: 1880: 1879: 1874: 1872: 1871: 1864: 1857: 1849: 1840: 1839: 1837: 1836: 1831: 1826: 1820: 1818: 1814: 1813: 1811: 1810: 1808:Log-structured 1805: 1800: 1794: 1792: 1786: 1785: 1783: 1782: 1777: 1776: 1775: 1765: 1759: 1757: 1751: 1750: 1747: 1746: 1744: 1743: 1742: 1741: 1736: 1726: 1721: 1715: 1713: 1711:Access control 1707: 1706: 1704: 1703: 1702: 1701: 1696: 1688: 1683: 1678: 1677: 1676: 1669:File attribute 1666: 1661: 1656: 1654:Data scrubbing 1651: 1646: 1641: 1635: 1629: 1625: 1624: 1622: 1621: 1616: 1611: 1609:Steganographic 1606: 1601: 1596: 1591: 1589:Log-structured 1586: 1581: 1576: 1575: 1574: 1569: 1564: 1553: 1551: 1547: 1546: 1543: 1542: 1540: 1539: 1534: 1529: 1524: 1519: 1514: 1508: 1506: 1500: 1499: 1497: 1496: 1491: 1486: 1481: 1478: 1473: 1468: 1463: 1458: 1452: 1450: 1446: 1445: 1443: 1442: 1437: 1432: 1427: 1422: 1417: 1412: 1407: 1402: 1397: 1392: 1387: 1382: 1377: 1372: 1367: 1362: 1357: 1351: 1345: 1341: 1340: 1338: 1337: 1330: 1325: 1320: 1315: 1310: 1305: 1300: 1295: 1290: 1285: 1280: 1275: 1270: 1260: 1254: 1252: 1246: 1245: 1242: 1241: 1239: 1238: 1231: 1226: 1221: 1216: 1211: 1206: 1201: 1196: 1191: 1186: 1180: 1178: 1172: 1171: 1168: 1167: 1165: 1164: 1159: 1154: 1153: 1152: 1142: 1137: 1132: 1127: 1121: 1119: 1109: 1108: 1103: 1098: 1093: 1088: 1083: 1078: 1073: 1067: 1065: 1055: 1054: 1052: 1051: 1046: 1041: 1036: 1030: 1028: 1022: 1021: 1019: 1018: 1008: 998: 993: 988: 983: 978: 973: 972: 971: 966: 956: 951: 946: 941: 936: 935: 934: 929: 919: 914: 912:Reliance Nitro 909: 904: 903: 902: 892: 887: 882: 877: 872: 867: 862: 857: 852: 851: 850: 840: 835: 830: 825: 824: 823: 818: 810: 805: 800: 795: 790: 785: 775: 772:Classic Mac OS 765: 764: 763: 753: 748: 743: 738: 737: 736: 726: 725: 724: 719: 714: 709: 699: 694: 693: 692: 687: 679: 674: 669: 664: 659: 658: 657: 650: 645: 643:Be File System 637: 632: 627: 622: 617: 612: 607: 601: 595: 589: 588: 586: 585: 580: 579: 578: 567: 564: 563: 558: 556: 555: 548: 541: 533: 527: 526: 521: 516: 509: 508:External links 506: 503: 502: 482: 457: 437: 411: 410: 408: 405: 388: 385: 363: 360: 350: 347: 338: 335: 308: 307: 290:September 2017 222: 220: 213: 207: 204: 187: 184: 123: 122: 109: 105: 104: 99: 93: 92: 84: 78: 77: 72: 66: 65: 60: 56: 55: 52: 51: 48: 46: 40: 39: 36: 35: 28: 15: 13: 10: 9: 6: 4: 3: 2: 3632: 3621: 3618: 3616: 3613: 3611: 3608: 3606: 3603: 3602: 3600: 3585: 3584: 3575: 3573: 3572: 3561: 3559: 3558: 3553: 3547: 3546: 3543: 3537: 3534: 3532: 3529: 3527: 3524: 3522: 3519: 3518: 3516: 3514: 3510: 3504: 3503: 3499: 3497: 3496: 3495:Revolution OS 3492: 3490: 3487: 3485: 3482: 3480: 3477: 3475: 3474: 3470: 3468: 3467:Linux Outlaws 3465: 3461: 3460: 3456: 3455: 3454: 3453: 3449: 3447: 3446: 3442: 3440: 3439: 3438:Linux Journal 3435: 3433: 3432: 3431:Linux Gazette 3428: 3426: 3425: 3421: 3419: 3416: 3414: 3413: 3409: 3407: 3406: 3402: 3400: 3397: 3396: 3394: 3390: 3384: 3383:Linux malware 3381: 3379: 3376: 3374: 3371: 3369: 3366: 3364: 3361: 3359: 3356: 3354: 3351: 3350: 3348: 3346: 3342: 3336: 3333: 3331: 3328: 3326: 3323: 3321: 3318: 3316: 3315:Linux Counter 3313: 3311: 3308: 3307: 3305: 3303:Organizations 3301: 3293: 3290: 3288: 3285: 3284: 3283: 3280: 3278: 3275: 3273: 3270: 3268: 3265: 3263: 3260: 3258: 3255: 3253: 3250: 3249: 3247: 3245: 3244:Distributions 3241: 3235: 3234:SCO and Linux 3232: 3230: 3227: 3225: 3222: 3220: 3217: 3215: 3212: 3211: 3209: 3207:Controversies 3205: 3199: 3198: 3194: 3192: 3189: 3187: 3184: 3182: 3179: 3177: 3174: 3172: 3169: 3167: 3164: 3163: 3161: 3159: 3155: 3151: 3144: 3139: 3137: 3132: 3130: 3125: 3124: 3121: 3109: 3108: 3099: 3097: 3096: 3085: 3083: 3082: 3077: 3071: 3070: 3067: 3057: 3054: 3053: 3051: 3047: 3041: 3038: 3034: 3031: 3029: 3026: 3025: 3023: 3019: 3016: 3015: 3014:Thin client: 3013: 3011: 3008: 3006: 3003: 3001: 2998: 2997: 2995: 2993: 2987: 2984: 2982: 2978: 2962: 2959: 2957: 2954: 2952: 2949: 2947: 2944: 2942: 2939: 2938: 2936: 2932: 2929: 2927: 2924: 2922: 2919: 2917: 2916:Linux-VServer 2914: 2913: 2912: 2909: 2905: 2902: 2900: 2897: 2896: 2895: 2892: 2891: 2889: 2887: 2883: 2875: 2872: 2870: 2867: 2866: 2864: 2861: 2857: 2854: 2852: 2849: 2847: 2844: 2842: 2839: 2838: 2837: 2834: 2830: 2827: 2825: 2822: 2820: 2817: 2816: 2815: 2812: 2808: 2805: 2803: 2800: 2799: 2798: 2795: 2794: 2792: 2788: 2782: 2779: 2777: 2774: 2772: 2769: 2767: 2764: 2762: 2759: 2757: 2754: 2753: 2750: 2747: 2743: 2740: 2738: 2735: 2734: 2733: 2730: 2729: 2726: 2723: 2721: 2718: 2716: 2713: 2711: 2708: 2706: 2703: 2701: 2698: 2696: 2692: 2689: 2688: 2685: 2682: 2680: 2677: 2675: 2672: 2670: 2667: 2665: 2662: 2660: 2657: 2654: 2651: 2648: 2645: 2643: 2640: 2637: 2634: 2633: 2630: 2627: 2625: 2622: 2620: 2617: 2615: 2612: 2610: 2607: 2605: 2602: 2600: 2597: 2595: 2592: 2590: 2587: 2585: 2582: 2580: 2577: 2575: 2572: 2569: 2566: 2564: 2561: 2559: 2556: 2554: 2551: 2549: 2546: 2544: 2541: 2539: 2538:Device mapper 2536: 2534: 2531: 2529: 2526: 2524: 2521: 2519: 2516: 2514: 2511: 2510: 2508: 2504: 2490: 2487: 2485: 2482: 2480: 2477: 2475: 2472: 2470: 2467: 2465: 2462: 2458: 2455: 2453: 2450: 2448: 2445: 2443: 2440: 2438: 2435: 2431: 2428: 2427: 2426: 2423: 2421: 2418: 2416: 2413: 2412: 2411: 2408: 2407: 2405: 2403: 2397: 2391: 2388: 2384: 2381: 2380: 2379: 2376: 2374: 2371: 2369: 2366: 2363: 2360: 2358: 2355: 2352: 2349: 2347: 2344: 2342: 2339: 2337: 2334: 2332: 2329: 2327: 2324: 2321: 2320: 2318: 2316: 2311: 2307: 2304: 2302: 2298: 2288: 2285: 2283: 2280: 2278: 2275: 2273: 2270: 2268: 2265: 2263: 2260: 2258: 2255: 2253: 2250: 2248: 2245: 2243: 2240: 2239: 2237: 2235: 2231: 2222: 2220: 2217: 2215: 2212: 2210: 2207: 2205: 2202: 2200: 2197: 2195: 2192: 2191: 2190: 2187: 2182: 2180: 2177: 2175: 2172: 2170: 2167: 2165: 2162: 2160: 2157: 2155: 2152: 2151: 2150: 2147: 2146: 2144: 2142: 2136: 2133: 2129: 2126: 2124: 2120: 2114: 2111: 2109: 2106: 2105: 2103: 2101: 2097: 2091: 2088: 2086: 2083: 2081: 2078: 2076: 2073: 2071: 2068: 2067: 2065: 2063: 2059: 2053: 2050: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2024: 2022: 2018: 2015: 2011: 1999: 1996: 1995: 1993: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1973: 1969: 1968: 1966: 1965: 1963: 1959: 1953: 1950: 1948: 1945: 1943: 1940: 1938: 1935: 1933: 1930: 1928: 1925: 1923: 1920: 1918: 1915: 1913: 1910: 1908: 1905: 1903: 1900: 1898: 1895: 1894: 1892: 1888: 1885: 1881: 1877: 1870: 1865: 1863: 1858: 1856: 1851: 1850: 1847: 1835: 1832: 1830: 1827: 1825: 1822: 1821: 1819: 1815: 1809: 1806: 1804: 1801: 1799: 1798:Cryptographic 1796: 1795: 1793: 1791: 1787: 1781: 1778: 1774: 1771: 1770: 1769: 1766: 1764: 1761: 1760: 1758: 1756: 1752: 1740: 1737: 1735: 1732: 1731: 1730: 1727: 1725: 1722: 1720: 1717: 1716: 1714: 1712: 1708: 1700: 1697: 1695: 1692: 1691: 1689: 1687: 1684: 1682: 1679: 1675: 1672: 1671: 1670: 1667: 1665: 1662: 1660: 1657: 1655: 1652: 1650: 1647: 1645: 1644:Copy-on-write 1642: 1640: 1637: 1636: 1633: 1630: 1626: 1620: 1617: 1615: 1612: 1610: 1607: 1605: 1602: 1600: 1597: 1595: 1592: 1590: 1587: 1585: 1582: 1580: 1577: 1573: 1570: 1568: 1565: 1563: 1560: 1559: 1558: 1555: 1554: 1552: 1548: 1538: 1535: 1533: 1530: 1528: 1525: 1523: 1520: 1518: 1515: 1513: 1510: 1509: 1507: 1505: 1501: 1495: 1492: 1490: 1487: 1485: 1482: 1479: 1477: 1474: 1472: 1469: 1467: 1464: 1462: 1459: 1457: 1454: 1453: 1451: 1447: 1441: 1438: 1436: 1433: 1431: 1428: 1426: 1423: 1421: 1418: 1416: 1413: 1411: 1408: 1406: 1403: 1401: 1398: 1396: 1393: 1391: 1388: 1386: 1383: 1381: 1378: 1376: 1373: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1352: 1349: 1346: 1342: 1336: 1335: 1331: 1329: 1326: 1324: 1321: 1319: 1316: 1314: 1311: 1309: 1306: 1304: 1301: 1299: 1296: 1294: 1291: 1289: 1286: 1284: 1281: 1279: 1276: 1274: 1271: 1268: 1264: 1261: 1259: 1256: 1255: 1253: 1251: 1247: 1237: 1236: 1232: 1230: 1227: 1225: 1222: 1220: 1217: 1215: 1212: 1210: 1207: 1205: 1202: 1200: 1197: 1195: 1192: 1190: 1187: 1185: 1182: 1181: 1179: 1177: 1173: 1163: 1160: 1158: 1155: 1151: 1148: 1147: 1146: 1143: 1141: 1138: 1136: 1133: 1131: 1128: 1126: 1123: 1122: 1120: 1118: 1117:wear leveling 1113: 1107: 1104: 1102: 1099: 1097: 1094: 1092: 1089: 1087: 1084: 1082: 1079: 1077: 1074: 1072: 1069: 1068: 1066: 1064: 1060: 1056: 1050: 1047: 1045: 1042: 1040: 1037: 1035: 1032: 1031: 1029: 1027: 1023: 1016: 1012: 1009: 1006: 1002: 999: 997: 994: 992: 989: 987: 984: 982: 979: 977: 974: 970: 967: 965: 962: 961: 960: 957: 955: 952: 950: 947: 945: 942: 940: 937: 933: 930: 927: 923: 922: 920: 918: 915: 913: 910: 908: 905: 901: 898: 897: 896: 893: 891: 888: 886: 883: 881: 878: 876: 873: 871: 868: 866: 863: 861: 858: 856: 853: 849: 846: 845: 844: 841: 839: 836: 834: 831: 829: 826: 822: 819: 817: 814: 813: 811: 809: 806: 804: 801: 799: 796: 794: 791: 789: 786: 783: 779: 776: 773: 769: 766: 762: 759: 758: 757: 754: 752: 749: 747: 744: 742: 739: 735: 732: 731: 730: 727: 723: 720: 718: 715: 713: 710: 708: 705: 704: 703: 700: 698: 695: 691: 688: 686: 683: 682: 680: 678: 675: 673: 670: 668: 665: 663: 660: 655: 651: 649: 646: 644: 641: 640: 638: 636: 633: 631: 628: 626: 623: 621: 618: 616: 613: 611: 608: 606: 603: 602: 599: 596: 590: 584: 581: 577: 574: 573: 572: 569: 568: 565: 561: 554: 549: 547: 542: 540: 535: 534: 531: 525: 522: 520: 517: 515: 512: 511: 507: 498: 497: 492: 486: 483: 478: 477: 472: 466: 464: 462: 458: 453: 452: 447: 441: 438: 433: 422: 416: 413: 406: 404: 400: 398: 394: 386: 384: 380: 377: 373: 372:software bugs 369: 361: 359: 356: 348: 346: 344: 343:copy-on-write 337:Copy-on-write 336: 334: 332: 326: 324: 319: 315: 304: 301: 293: 282: 279: 275: 272: 268: 265: 261: 258: 254: 251: â€“  250: 246: 245:Find sources: 239: 235: 229: 228: 223:This section 221: 217: 212: 211: 206:Log structure 205: 203: 201: 197: 193: 185: 183: 181: 177: 173: 169: 168:copy-on-write 165: 164:log structure 159: 157: 153: 150:(for example 149: 145: 141: 137: 135: 130: 120: 110: 106: 103: 100: 98: 94: 91: 88: 85: 83: 79: 76: 73: 71: 67: 64: 61: 57: 53: 47: 45: 41: 37: 33: 29: 27: 23: 3581: 3562: 3548: 3501: 3493: 3471: 3457: 3450: 3443: 3436: 3429: 3424:Linux Format 3422: 3410: 3403: 3378:Range of use 3195: 3158:Linux kernel 3105: 3086: 3072: 2802:Linux kernel 2720:Tomoyo Linux 2315:File systems 1970: 1922:SCO disputes 1883:Organization 1876:Linux kernel 1763:File manager 1414: 1332: 1233: 1059:Flash memory 1026:Optical disc 964:soft updates 944:Soup (Apple) 594:non-rotating 560:File systems 494: 485: 474: 449: 440: 430:– via 426:21 September 424:. Retrieved 421:"linux nova" 415: 401: 390: 381: 365: 352: 340: 327: 311: 296: 287: 277: 270: 263: 256: 244: 232:Please help 227:verification 224: 196:Linux kernel 189: 160: 132: 128: 126: 26:Developer(s) 3473:Linux Voice 3459:Ubuntu User 3412:Full Circle 3399:DistroWatch 3272:Lightweight 3186:Kernel oops 3176:Linux-libre 3171:Linus's law 2807:Linux-libre 2700:Exec Shield 2579:Framebuffer 2282:Video4Linux 2139:System Call 1967:Developers 1907:Linus's law 1729:Permissions 1344:Specialized 576:distributed 323:linked list 140:open-source 136:accelerated 119:/linux-nova 87:File system 3599:Categories 2894:Hypervisor 2856:PREEMPT_RT 2761:KernelCare 2749:Raw device 2679:SCHED_FIFO 2589:KMS driver 2506:Components 2361:securityfs 2247:Crypto API 2189:Linux-only 2075:System.map 1978:kernel.org 1937:menuconfig 1932:GNU GPL v2 1755:Interfaces 1739:Sticky bit 1619:Versioning 1584:Journaling 1527:Rubberhose 1323:SMB (CIFS) 1115:host-side 407:References 391:NOVA uses 355:journaling 349:Journaling 341:NOVA uses 331:atomically 260:newspapers 186:Filesystem 172:journaling 59:Written in 3452:LinuxUser 3418:Linux.com 3310:LinuxChix 3033:LYME-LYCE 2756:initramfs 2725:Linux PAM 2594:Netfilter 2464:libcgroup 2430:libhybris 2402:libraries 2350:hugetlbfs 2301:Userspace 2234:In-kernel 2219:readahead 2141:Interface 2090:initramfs 2047:SystemTap 2020:Debugging 2013:Technical 1952:Criticism 1614:Synthetic 1557:Clustered 1504:Encrypted 1435:OverlayFS 1044:ISO 13490 620:Amiga OFS 615:Amiga FFS 368:checksums 176:atomicity 3583:Category 3502:The Code 3489:Phoronix 3479:LugRadio 3363:Embedded 3353:Adopters 3345:Adoption 3107:Category 3049:Adopters 3024:Server: 3005:Embedded 2981:Adoption 2874:PSXLinux 2797:Mainline 2790:Variants 2742:graphics 2695:AppArmor 2684:SCHED_RR 2604:nftables 2548:dm-crypt 2543:dm-cache 2489:liburing 2479:libevdev 2437:dietlibc 2326:configfs 2252:io uring 1699:Symbolic 1628:Features 1604:Semantic 1512:eCryptfs 1456:configfs 1425:SquashFS 1313:POHMELFS 1214:OrangeFS 1039:ISO 9660 959:UFS/UFS2 907:Reliance 895:ReiserFS 741:Files-11 635:bcachefs 592:Disk and 451:Phoronix 3531:Red Hat 3484:LWN.net 3358:Desktop 3166:History 3040:Devices 3000:Desktop 2961:coLinux 2956:MkLinux 2941:L4Linux 2869:ÎĽClinux 2851:Xenomai 2841:RTLinux 2781:Ksplice 2710:SELinux 2705:seccomp 2655:(EEVDF) 2599:Netlink 2528:Console 2523:cgroups 2474:libalsa 2400:Wrapper 2378:systemd 2341:debugfs 2310:Daemons 2272:New API 2214:inotify 2209:dnotify 2113:x32 ABI 2070:vmlinux 2062:Startup 1961:Support 1817:Layouts 1803:Default 1466:debugfs 1440:UnionFS 1334:more... 1267:OpenAFS 1235:more... 900:Reiser4 870:OpenZFS 761:HAMMER2 717:ext3cow 697:Episode 496:LWN.net 476:LWN.net 318:threads 274:scholar 170:(COW), 108:Website 97:License 3536:Ubuntu 3373:Mobile 3368:Gaming 3010:Gaming 2992:of use 2946:ELinOS 2937:Other 2931:OpenVZ 2921:Lguest 2865:-less 2776:kpatch 2771:kGraft 2737:802.11 2533:bcache 2484:libusb 2469:libdrm 2457:Newlib 2442:EGLIBC 2425:Bionic 2420:uClibc 2390:Kmscon 2364:sockfs 2357:procfs 2353:pipefs 2336:devpts 2262:kernfs 2204:splice 2159:select 2131:Kernel 2085:initrd 2080:dracut 2032:ftrace 1994:Users 1927:Linaro 1890:Kernel 1690:Links 1664:Extent 1594:Object 1562:Global 1480:specfs 1476:procfs 1471:kernfs 1449:Pseudo 1430:UMSDOS 1385:Davfs2 1380:cramfs 1318:Hadoop 1298:Lustre 1184:BeeGFS 1150:NILFS2 885:QNX4FS 848:NILFS2 756:HAMMER 746:Fossil 432:GitHub 393:RAID 4 276:  269:  262:  255:  247:  200:x86-64 180:RAID 4 113:github 90:driver 3392:Media 3197:more… 3150:Linux 2990:Range 2829:SLURM 2766:kexec 2715:Smack 2649:(CFS) 2629:zswap 2570:(KSM) 2563:evdev 2518:BlueZ 2447:klibc 2415:glibc 2373:tmpfs 2368:sysfs 2331:devfs 2322:bpffs 2199:epoll 2194:futex 2174:close 2154:ioctl 2149:POSIX 2037:kdump 1790:Lists 1734:Modes 1579:Flash 1550:Types 1532:SSHFS 1517:EncFS 1494:WinFS 1489:tmpfs 1484:sysfs 1461:devfs 1395:FTPFS 1390:EROFS 1328:SSHFS 1209:OCFS2 1162:UBIFS 1157:YAFFS 1145:NILFS 1140:LogFS 1135:JFFS2 1091:EROFS 1081:exFAT 986:Xiafs 969:WAPBL 954:UBIFS 865:OneFS 843:NILFS 838:Next3 828:MINIX 734:exFAT 662:Btrfs 630:AthFS 610:AdvFS 397:CRC32 376:CRC32 314:inode 281:JSTOR 267:books 156:Linux 117:/NVSL 75:Linux 3028:LAMP 3018:LTSP 2846:RTAI 2624:zram 2619:SLUB 2614:perf 2558:EDAC 2452:musl 2383:udev 2346:FUSE 2242:ALSA 2179:sync 2169:read 2164:open 2123:APIs 2100:ABIs 2027:CRIU 1983:LKML 1694:Hard 1686:Fork 1567:Grid 1420:MVFS 1415:NOVA 1410:LTFS 1405:Lnfs 1400:FUSE 1370:CDfs 1360:AXFS 1355:Aufs 1293:GPFS 1278:Coda 1229:Xsan 1219:PVFS 1199:GFS2 1194:CXFS 1189:Ceph 1130:JFFS 1125:CHFS 1106:NVFS 1096:F2FS 1086:TFAT 1071:APFS 1061:and 1005:z/OS 996:Xsan 981:WAFL 976:VxFS 949:Tux3 939:SNFS 921:SFS 890:ReFS 860:NTFS 812:MFS 798:HTFS 793:HPFS 788:HFS+ 751:GPFS 722:ext4 712:ext3 707:ext2 681:EFS 672:CXFS 667:CVFS 654:z/VM 639:BFS 625:APFS 605:ADFS 428:2017 253:news 129:NOVA 127:The 115:.com 82:Type 20:NOVA 3191:Tux 2926:LXC 2904:Xen 2899:KVM 2863:MMU 2819:INK 2584:LVM 2574:LIO 2553:DRM 2287:IIO 2277:RCU 2257:DRM 2052:BPF 1917:Tux 1537:ZFS 1522:EFS 1308:NFS 1303:NCP 1283:DFS 1273:AFP 1263:AFS 1250:NAS 1224:QFS 1101:JFS 1076:FAT 1063:SSD 1049:UDF 1034:HSF 1015:Sun 1011:ZFS 1001:zFS 991:XFS 917:RFS 880:QFS 875:PFS 855:NSS 808:LFS 803:JFS 782:MVS 778:HFS 768:HFS 729:FAT 702:ext 677:DFS 236:by 102:GPL 3601:: 2693:: 1258:9P 926:VM 493:. 473:. 460:^ 448:. 166:, 158:. 142:, 3142:e 3135:t 3128:v 2638:: 2312:, 2223:… 2183:… 1868:e 1861:t 1854:v 1269:) 1265:( 1017:) 1013:( 1007:) 1003:( 928:) 784:) 780:( 774:) 770:( 656:) 552:e 545:t 538:v 499:. 479:. 454:. 434:. 303:) 297:( 292:) 288:( 278:· 271:· 264:· 257:· 230:. 131:( 63:C

Index

Developer(s)
University of California, San Diego
Preview release
C
Operating system
Linux
Type
File system
driver
License
GPL
github.com/NVSL/linux-nova
non-volatile memory
open-source
log-structured file system
persistent memory
non-volatile dual in-line memory module
Linux
log structure
copy-on-write
journaling
atomicity
RAID 4
University of California, San Diego
Linux kernel
x86-64

verification
improve this article
adding citations to reliable sources

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

↑