{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T18:47:34Z","timestamp":1775069254131,"version":"3.50.1"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2013,8,1]],"date-time":"2013-08-01T00:00:00Z","timestamp":1375315200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2013,8]]},"abstract":"<jats:p>BTRFS is a Linux filesystem that has been adopted as the default filesystem in some popular versions of Linux. It is based on copy-on-write, allowing for efficient snapshots and clones. It uses B-trees as its main on-disk data structure. The design goal is to work well for many use cases and workloads. To this end, much effort has been directed to maintaining even performance as the filesystem ages, rather than trying to support a particular narrow benchmark use-case.<\/jats:p>\n          <jats:p>Linux filesystems are installed on smartphones as well as enterprise servers. This entails challenges on many different fronts.<\/jats:p>\n          <jats:p>\n            ---\n            <jats:italic>Scalability<\/jats:italic>\n            . The filesystem must scale in many dimensions: disk space, memory, and CPUs.\n          <\/jats:p>\n          <jats:p>\n            ---\n            <jats:italic>Data integrity<\/jats:italic>\n            . Losing data is not an option, and much effort is expended to safeguard the content. This includes checksums, metadata duplication, and RAID support built into the filesystem.\n          <\/jats:p>\n          <jats:p>\n            ---\n            <jats:italic>Disk diversity<\/jats:italic>\n            . The system should work well with SSDs and hard disks. It is also expected to be able to use an array of different sized disks, which poses challenges to the RAID and striping mechanisms.\n          <\/jats:p>\n          <jats:p>This article describes the core ideas, data structures, and algorithms of this filesystem. It sheds light on the challenges posed by defragmentation in the presence of snapshots, and the tradeoffs required to maintain even performance in the face of a wide spectrum of workloads.<\/jats:p>","DOI":"10.1145\/2501620.2501623","type":"journal-article","created":{"date-parts":[[2013,9,3]],"date-time":"2013-09-03T11:57:11Z","timestamp":1378209431000},"page":"1-32","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":287,"title":["BTRFS"],"prefix":"10.1145","volume":"9","author":[{"given":"Ohad","family":"Rodeh","sequence":"first","affiliation":[{"name":"IBM"}]},{"given":"Josef","family":"Bacik","sequence":"additional","affiliation":[{"name":"FusionIO"}]},{"given":"Chris","family":"Mason","sequence":"additional","affiliation":[{"name":"FusionIO"}]}],"member":"320","published-online":{"date-parts":[[2013,8]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Bonwick J. and Moore B. ZFS The last word in file systems. http:\/\/hub.opensolaris.org\/bin\/download\/Community+Group+zfs\/docs\/zfslast.pdf.  Bonwick J. and Moore B. ZFS The last word in file systems. http:\/\/hub.opensolaris.org\/bin\/download\/Community+Group+zfs\/docs\/zfslast.pdf."},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Callaghan B. Pawlowski B. and Staubach P. 1995. NFS Version 3 Protocol Specification. RFC 1813 IETF. June.   Callaghan B. Pawlowski B. and Staubach P. 1995. NFS Version 3 Protocol Specification. RFC 1813 IETF. June.","DOI":"10.17487\/rfc1813"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of 7th USENIX Symposium on Operating Systems Design and Implementation (OSDI). USENIX Association","author":"Chang F."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/356770.356776"},{"key":"e_1_2_1_5_1","unstructured":"Dean J. and Ghemawat S. LevelDB. http:\/\/code.google.com\/p\/leveldb.  Dean J. and Ghemawat S. LevelDB. http:\/\/code.google.com\/p\/leveldb."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the USENIX Annual Technical Conference. USENIX Association","author":"Edwards J."},{"key":"e_1_2_1_7_1","unstructured":"Gailly J. L. and Adler M. ZLIB. en.wikipedia.org\/wiki\/Zlib.  Gailly J. L. and Adler M. ZLIB. en.wikipedia.org\/wiki\/Zlib."},{"key":"e_1_2_1_8_1","unstructured":"Heizer I. Leach P. and Perry D. 1996. Common Internet File System Protocol (CIFS\/1.0). Draft draft-heizer-cifs-v1-spec-00.txt IETF.  Heizer I. Leach P. and Perry D. 1996. Common Internet File System Protocol (CIFS\/1.0). Draft draft-heizer-cifs-v1-spec-00.txt IETF."},{"key":"e_1_2_1_9_1","volume-title":"XFS: The big storage file system for Linux. In Usenix Login Magazine.","author":"Hellwig C.","year":"2009"},{"key":"e_1_2_1_10_1","unstructured":"Henson V. Ahrens M. and Bonwick J. 2003. Automatic performance tuning in the Zettabyte File System. In File and Storage Technologies (FAST) Work in Progress Report. USENIX Association Berkeley.  Henson V. Ahrens M. and Bonwick J. 2003. Automatic performance tuning in the Zettabyte File System. In File and Storage Technologies (FAST) Work in Progress Report . USENIX Association Berkeley."},{"key":"e_1_2_1_11_1","unstructured":"Hitz D. Lau J. and Malcolm M. 1994. File system design for an NFS file server appliance. In USENIX. USENIX Association Berkeley CA.   Hitz D. Lau J. and Malcolm M. 1994. File system design for an NFS file server appliance. In USENIX . USENIX Association Berkeley CA."},{"key":"e_1_2_1_12_1","unstructured":"Konishi R. Sato K. and Amagai Y. NILFS. www.nilfs.org.  Konishi R. Sato K. and Amagai Y. NILFS. www.nilfs.org."},{"key":"e_1_2_1_13_1","volume-title":"Proceedings of 8th USENIX Conference on File and Storage Technologies (FAST). USENIX Association","author":"Macko P."},{"key":"e_1_2_1_14_1","unstructured":"Mason C. 2007. BTRFS. http:\/\/en.wikipedia.org\/wiki\/Btrfs.  Mason C. 2007. BTRFS. http:\/\/en.wikipedia.org\/wiki\/Btrfs."},{"key":"e_1_2_1_15_1","unstructured":"Mason C. 2008. Seekwatcher. http:\/\/oss.oracle.com\/~mason\/seekwatcher.  Mason C. 2008. Seekwatcher. http:\/\/oss.oracle.com\/~mason\/seekwatcher."},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of Linux Symposium.","author":"Mathur A."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050048"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/971701.50214"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1137\/0108018"},{"key":"e_1_2_1_20_1","unstructured":"Reiser H. 2001. ReiserFS. http:\/\/http:\/\/en.wikipedia.org\/wiki\/ReiserFS.  Reiser H. 2001. ReiserFS. http:\/\/http:\/\/en.wikipedia.org\/wiki\/ReiserFS."},{"key":"e_1_2_1_21_1","volume-title":"TABLEFS: Embedding a NOSQL database inside the local file system. Tech. rep. CMU-PDL-12-103.","author":"Ren K.","year":"2012"},{"key":"e_1_2_1_22_1","unstructured":"Rodeh O. 2006a. B-trees shadowing and clones. Tech. rep. H-248 IBM.  Rodeh O. 2006a. B-trees shadowing and clones. Tech. rep. H-248 IBM."},{"key":"e_1_2_1_23_1","unstructured":"Rodeh O. 2006b. B-trees shadowing and range-operations. Tech. rep. H-248 IBM.  Rodeh O. 2006b. B-trees shadowing and range-operations. Tech. rep. H-248 IBM."},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1326542.1326544"},{"key":"e_1_2_1_25_1","unstructured":"Rodeh O. 2010. Deferred reference counters for Copy-On-Write B-trees. Tech. rep. rj10464 IBM.  Rodeh O. 2010. Deferred reference counters for Copy-On-Write B-trees. Tech. rep. rj10464 IBM."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213862"},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","unstructured":"Shepler S. Callaghan B. Robinson D. Thurlow R. Beame C. Eisler M. and Noveck D. 2000. NFS version 4 Protocol. RFC 3010 IETF.   Shepler S. Callaghan B. Robinson D. Thurlow R. Beame C. Eisler M. and Noveck D. 2000. NFS version 4 Protocol. RFC 3010 IETF.","DOI":"10.17487\/rfc3010"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST).","author":"Shetty P."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of USENIX Annual Technical Conference.","author":"Sweeney A."}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2501620.2501623","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2501620.2501623","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T07:28:48Z","timestamp":1750231728000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2501620.2501623"}},"subtitle":["The Linux B-Tree Filesystem"],"short-title":[],"issued":{"date-parts":[[2013,8]]},"references-count":30,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2013,8]]}},"alternative-id":["10.1145\/2501620.2501623"],"URL":"https:\/\/doi.org\/10.1145\/2501620.2501623","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2013,8]]},"assertion":[{"value":"2012-07-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-03-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-08-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}