Abstract
Btrfs is a relatively new file system for Linux built on top of a copy-on-write btree abstraction. Unlike most other file systems, btrfs stores all metadata (and some data) in the btree, and uses a common transaction commit framework to ensure that the file system image is consistent on disk at all times. The Ceph distributed file system switched to using btrfs as the underlying storage for each object storage node because it could hook into the transaction framework to keep its data and metadata consistent at all times. The mechanism used to do this has evolved over the past few years. This talk will provide a btrfs design overview, including its copy-on-write and writable snapshot features, and then talk more specifically about how btrfs's architecture can be leveraged by applications.