Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Features  



1.1  Stability  







2 History  





3 References  



3.1  Works cited  







4 External links  














Bcachefs






Deutsch

Norsk bokmål
Polski

 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Bcachefs
Developer(s)Kent Overstreet
Introduced21 August 2015; 8 years ago (2015-08-21)
Structures
Directory contentsHybrid B+ tree
File allocationExtents
Bad blocksNone recorded
Features
Dates recordedmodification (mtime), attribute modification (ctime), access (atime), create (crtime)
AttributesExtended attributes
File system
permissions
POSIX (+ ACL in xattrs)
Transparent
compression
Yes
Transparent
encryption
Yes
Copy-on-writeYes
Other
Supported
operating systems
Linux
Websitebcachefs.org

Bcachefs is a copy-on-write (COW) file system for Linux-based operating systems. Its primary developer, Kent Overstreet, first announced it in 2015, and it was added to the Linux kernel beginning with 6.7.[1][2] It is intended to compete with the modern features of ZFSorBtrfs, and the speed and performance of ext4orXFS.

Features

[edit]

Bcachefs is a copy-on-write (COW) file system for Linux-based operating systems.[3] Features include caching,[4] full file-system encryption using the ChaCha20 and Poly1305 algorithms,[5] native compression[4] via LZ4, gzip[6] and Zstandard,[7] snapshots,[4] CRC-32C and 64-bit checksumming.[3] It can span block devices, including in RAID configurations.[5]

Earlier versions of Bcachefs provided all the functionality of Bcache, a block-layer cache system for Linux, with which Bcachefs shares about 80% of its code.[8] As of December 2021, the block-layer cache functionality has been removed.[7]

On a data structure level, bcachefs uses B-trees like many other modern file systems, but with an unusually large node size defaulting to 256 KiB. These nodes are internally log-structured, forming a hybrid data structure, reducing the need for rewriting nodes on update.[9] Snapshots are not implemented by cloning a COW tree, but by adding a version number to filesystem objects.[10] The COW feature and the bucket allocator enables a RAID implementation which is claimed to not suffer from the write hole nor IO fragmentation.[7]

Stability

[edit]

Bcachefs describes itself as "working and stable, with a small community of users".[11] When discussing Linux 6.9-rc3 on April 7, 2024, Linus Torvalds touched on the stability of bcachefs, saying "if you thought bcachefs was stable already, I have a bridge to sell you".[12]

History

[edit]

Primary development has been by Kent Overstreet, the developer of Bcache, which he describes as a "prototype" for the ideas that became Bcachefs. Overstreet intends Bcachefs to replace Bcache.[8] Overstreet has stated that development of Bcachefs began as Bcache's developers realized that its codebase had "been evolving ... into a full blown, general-purpose POSIX filesystem", and that "there was a really clean and elegant design" within it if they took it in that direction. Some time after Bcache was merged in 2013 into the mainline Linux kernel, Overstreet left his job at Google to work full-time on Bcachefs.[3]

After a few years' unfunded development, Overstreet announced Bcachefs in 2015, at which point he called the code "more or less feature complete", and called for testers and contributors. He intended it to be an advanced file system with modern features[13] like those of ZFSorBtrfs, with the speed and performance of file systems such as ext4 and XFS.[3] As of 2017 Overstreet was receiving financial support for the development of Bcachefs via Patreon.[5]

As of mid-2018, the on-disk format had settled.[8] Patches had been submitted for review to have Bcachefs included in the mainline Linux kernel, but had not yet been accepted.[4]

By mid-2019, the desired features of Bcachefs were completed and the associated patches to LKML were submitted for peer review.[14][15] In October 2023 Bcachefs was merged into the Linux 6.7 kernel,[16] which was released in January 2024.[2]

References

[edit]
  1. ^ "kernel/git/torvalds/linux.git - Linux kernel source tree". git.kernel.org. Retrieved 2023-10-31.
  • ^ a b Larabel, Michael (2024-01-07). "Linux 6.7 Released With Bcachefs, Intel Meteor Lake In Good Shape & Nouveau GSP Support". www.phoronix.com. Retrieved 2024-01-07.
  • ^ a b c d Larabel 2015.
  • ^ a b c d Larabel 2018.
  • ^ a b c Baader 2017.
  • ^ "Options — bcachefs documentation".
  • ^ a b c Overstreet, Kent (18 Dec 2021). "bcachefs: Principles of Operation" (PDF). Retrieved 10 May 2023.
  • ^ a b c Edge 2018.
  • ^ "Architecture". bcachefs.org.
  • ^ "Snapshots". bcachefs.org.
  • ^ "bcachefs.org". Archived from the original on 2024-04-03.
  • ^ Torvalds, Linus (2024-04-07). "Linux 6.9-rc3". Linux kernel mailing list (Mailing list).
  • ^ Jackson 2015.
  • ^ LKML 2021.
  • ^ LKML 2022.
  • ^ "Bcachefs Merged Into The Linux 6.7 Kernel". www.phoronix.com. Retrieved 2023-10-31.
  • Works cited

    [edit]
  • Edge, Jake (2018-05-23). "An update on bcachefs". LWN.net. Archived from the original on 2018-06-01. Retrieved 2018-11-22.
  • Jackson, Joab (2015-08-21). "Former Google engineer revs up a new Linux filesystem". PC World. Retrieved 2018-11-22.
  • Larabel, Michael (2015-08-21). "A New Linux File-System Aims For Speed While Having ZFS/Btrfs-Like Features". Phoronix. Archived from the original on 2015-08-23. Retrieved 2018-11-22.
  • Larabel, Michael (2018-05-09). "Bcachefs File-System Is Working On Going Upstream In The Linux Kernel". Phoronix. Archived from the original on 2018-07-09. Retrieved 2018-11-22.
  • LKML (2019-06-10). "bcachefs status update (it's done cooking; let's get this sucker merged)". Linux Kernel Mailing List.
  • LKML (2021-11-04). "bcachefs status update - current and future work". Linux Kernel Mailing List. Retrieved 2021-12-02.
  • LKML (2022-02-16). "bcachefs". Linux Kernel Mailing List. Retrieved 2022-09-14.
  • [edit]
  • icon Linux

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Bcachefs&oldid=1231938615"

    Categories: 
    2015 software
    Compression file systems
    File systems supported by the Linux kernel
    Linux file system-related software
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
    Articles to be expanded from July 2024
    All articles to be expanded
    Articles using small message boxes
    CS1 German-language sources (de)
     



    This page was last edited on 1 July 2024, at 02:40 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki