Btrfs

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Btrfs
Developer Oracle Corporation
Full name Btrfs
Introduced Stable: Yet to be released
Unstable: v0.18, January 2009 (Linux)
Structures
Directory contents B-tree
File allocation extents
Limits
Max file size 16 EB
Max number of files 264
Max filename length 255 bytes
Max volume size 16 EB
Allowed characters in filenames All bytes except NUL ('\0') and '/'
Features
Attributes POSIX
File system permissions POSIX, ACL
Transparent encryption No
Supported operating systems Linux

Btrfs (B-tree FS or "Butter FS"[1][2]) is a copy-on-write file system for Linux announced by Oracle in 2007 and published under the GNU General Public License (GPL).[3] It originated as a response to the ZFS filesystem and is expected to be free of many of the limitations that other Linux filesystems currently have.

Btrfs is under heavy development and the current release is only intended for testing. Btrfs v0.18 was released January 2009.[4] Plans existed for releasing Btrfs v1.0 (with finalized on-disk format) in late 2008,[5] however this date has since passed and a new timeline for final release has not yet emerged as of March 2009.

Chris Mason, Director of Linux Kernel Engineering at Oracle and the founder of Btrfs said that, "The main goal is to let Linux scale for the storage that will be available. Scaling is not just about addressing the storage but also means being able to administer and to manage it with a clean interface that lets people see what's being used and makes it more reliable."[6] Btrfs has been merged into the 2.6.29-rc prerelease of the mainline Linux kernel, but remains experimental and not ready for production use. Users should not use it for anything but testing as the on-disk format is not finalized.[7]

Contents

[edit] Features

Btrfs claims a "focus on fault tolerance, repair and easy administration."[8]. As of 2009, it is still in heavy development and lacks many basic features. Theodore Ts'o, developer of ext3 and ext4 filesystems, said that Btrfs "has a number of the same design ideas that reiser3/4 had".[9] Btrfs includes, or has plans for:[10]

  • Space-efficient packing of small files and indexed directories
  • Dynamic inode allocation (no maximum number of files set at file-system creation time)
  • Writable snapshots and snapshots of snapshots
  • Subvolumes (separate internal filesystem roots)
  • Object-level mirroring and striping
  • Checksums on data and metadata (for strong integrity assurance)
  • Compression (enabled by the mount option -o compress)
  • Copy-on-write logging for all data and metadata
  • Strong integration with device mapper for multiple device support, with several built-in RAID algorithms
  • Online filesystem check and very fast offline filesystem check
  • Efficient incremental backup and file-system mirroring
  • Upgrading of filesystems from ext3fs to Btrfs, and conversion back to the point of upgrading[11]
  • Solid-state drive (SSD) optimized mode (activated through the mount option -o ssd; no additional wear levelling through filesystem[12])
  • Online defragmentation
  • Seed device support[13]

Although Btrfs has no native feature that would make it a distributed or networked filesystem by itself, Oracle has started implementing CRFS (Coherent Remote File System), a network filesystem protocol specifically designed and optimized for networked storage on Btrfs.

[edit] See also

[edit] References

  1. ^ Valerie Henson. (2008-01-31). Chunkfs: Fast file system check and repair. Retrieved on 2008-02-05. Event occurs at 18m 49s. "It's called Butter FS or B-tree FS, but all the cool kids say Butter FS"
  2. ^ CRFS and POHMELFS [LWN.net]
  3. ^ Chris Mason (2007-06-12). "Btrfs: a copy on write, snapshotting FS". Linux Kernel Mailing List. http://lkml.org/lkml/2007/6/12/242. Retrieved on 2007-07-11. 
  4. ^ [1]
  5. ^ http://btrfs.wiki.kernel.org/index.php/Development_timeline
  6. ^ Sean Michael Kerner (2008-10-30). "A Better File System For Linux". InternetNews.com. http://www.internetnews.com/dev-news/article.php/3781676/A+Better+File+System+for+Linux.htm. Retrieved on 2008-10-30. 
  7. ^ Jonathan Corbet (2009-01-09). "Btrfs merged for 2.6.29". LWN.net. http://lwn.net/Articles/314325/. Retrieved on 2009-01-10. 
  8. ^ Chris Mason (2008-03-12). "Btrfs wiki Main Page". http://btrfs.wiki.kernel.org/index.php/Main_Page. Retrieved on 2008-08-09. 
  9. ^ Theodore Ts'o (2008-08-01). "Re: reiser4 for 2.6.27-rc1". http://lkml.org/lkml/2008/8/1/217. Retrieved on 2009-01-22. 
  10. ^ Feature list from Jonathan Corbet (2007-06-19). "btrfs and NILFS". http://lwn.net/Articles/238923/.  and Chris Mason (2007-06-12). "Btrfs: a copy on write, snapshotting FS". Linux Kernel Mailing List. http://lwn.net/Articles/237904/. 
  11. ^ http://btrfs.wiki.kernel.org/index.php/Conversion_from_Ext3
  12. ^ Btrfs and Solid State Disks (SSD)
  13. ^ Chris Mason (2009-01-12). "Changelog". http://btrfs.wiki.kernel.org/index.php/Changelog#Seed_Device_support. 

[edit] External links

Personal tools