Jump to content

Btrfs

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TXiKiBoT (talk | contribs) at 22:58, 15 August 2009 (robot Adding: pl:Btrfs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Btrfs
Developer(s)Oracle Corporation
Full nameBtrfs
IntroducedStable: Yet to be released
Unstable: v0.19, June 2009 with Linux
Structures
Directory contentsB-tree
File allocationextents
Limits
Max volume size16 EB
Max file size16 EB
Max no. of files264
Max filename length255 bytes
Allowed filename
characters
All bytes except NUL ('\0') and '/'
Features
AttributesPOSIX
File system
permissions
POSIX, ACL
Transparent
compression
Yes
Transparent
encryption
No
Other
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.[4]

Btrfs is under heavy development and the current release is only intended for testing. Btrfs v0.19 was released in June 2009.[5] Plans existed for releasing Btrfs v1.0 (with finalized on-disk format) in late 2008,[6] but this date has since passed and a new timeline for final release has not yet emerged as of August  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."[7] Btrfs was merged into the 2.6.29-rc1 prerelease of the mainline Linux kernel, but remains marked as experimental and not ready for production use. The developers advise users to not use it for anything but testing as the on-disk format is not finalized.[8]

Features

Btrfs claims a "focus on fault tolerance, repair and easy administration.".[9] 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".[10] Btrfs includes, or has plans for:[11]

  • 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; currently CRC-32C, alternatives are planned[12])
  • Compression (zlib; 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 ext3 to Btrfs, and conversion back to the point of upgrading[13]
  • Solid-state drive (SSD) optimized mode (activated through the mount option -o ssd; no wear levelling but it will avoid writing on one spot, using multiple superblocks[14])
  • Online defragmentation
  • Seed device support[15]

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.

See also

References

  1. ^ Valerie Henson. Chunkfs: Fast file system check and repair. Melbourne, Australia. Event occurs at 18m 49s. Retrieved 2008-02-05. It's called Butter FS or B-tree FS, but all the cool kids say Butter FS {{cite AV media}}: Unknown parameter |date2= ignored (help)
  2. ^ "CRFS and POHMELFS [LWN.net]". Lwn.net. Retrieved 2009-06-15.
  3. ^ Chris Mason (2007-06-12). "Btrfs: a copy on write, snapshotting FS". Linux Kernel Mailing List. Retrieved 2007-07-11.
  4. ^ Valerie Aurora (2009-07-22). "A short history of btrfs".
  5. ^ "btrfs Wiki". Btrfs.wiki.kernel.org. Retrieved 2009-06-15.
  6. ^ "Development timeline - btrfs Wiki". Btrfs.wiki.kernel.org. 2008-12-11. Retrieved 2009-06-15.
  7. ^ Sean Michael Kerner (2008-10-30). "A Better File System For Linux". InternetNews.com. Retrieved 2008-10-30.
  8. ^ Jonathan Corbet (2009-01-09). "Btrfs merged for 2.6.29". LWN.net. Retrieved 2009-01-10.
  9. ^ Chris Mason (2008-03-12). "Btrfs wiki Main Page". Retrieved 2008-08-09.
  10. ^ Theodore Ts'o (2008-08-01). "Re: reiser4 for 2.6.27-rc1". Retrieved 2009-01-22.
  11. ^ Feature list from Jonathan Corbet (2007-06-19). "btrfs and NILFS". Retrieved 2008-08-09. and Chris Mason (2007-06-12). "Btrfs: a copy on write, snapshotting FS". Linux Kernel Mailing List. Retrieved 2008-08-09.
  12. ^ "Wiki FAQ: What checksum function does Btrfs use?". Btrfs.wiki.kernel.org. Retrieved 2009-06-15.
  13. ^ "Conversion from Ext3 - btrfs Wiki". Btrfs.wiki.kernel.org. 2009-01-25. Retrieved 2009-06-15.
  14. ^ "Btrfs and Solid State Disks (SSD)". Oss.oracle.com. 2008-02-11. Retrieved 2009-06-15.
  15. ^ Chris Mason (2009-01-12). "Changelog". Retrieved 2009-01-14.