Re: [ANNOUNCE] Btrfs: a copy on write, snapshotting FS

Vladislav Bolkhovitin
2007-06-18T18:07:34Z

Chris Mason wrote:
> Hello everyone,
>
> After the last FS summit, I started working on a new filesystem that
> maintains checksums of all file data and metadata. Many thanks to Zach
> Brown for his ideas, and to Dave Chinner for his help on
> benchmarking analysis.
>
> The basic list of features looks like this:
>
> * Extent based file storage (2^64 max file size)
> * Space efficient packing of small files
> * Space efficient indexed directories
> * Dynamic inode allocation
> * Writable snapshots
> * Subvolumes (separate internal filesystem roots)
> - Object level mirroring and striping
> * Checksums on data and metadata (multiple algorithms available)
> - Strong integration with device mapper for multiple device support
> - Online filesystem check
> * Very fast offline filesystem check
> - Efficient incremental backup and FS mirroring

I would also suggest one more feature: support for block level
de-duplication. I mean:

1. Ability for Btrfs to have blocks in several files to point to the
same block on disk

2. Support for new syscall or IOCTL to de-duplicate as a single
transaction two or more blocks on disk, i.e. link them to one of them
and free others

3. De-de-duplicate blocks on disk, i.e. copy them on write

I suppose that de-duplication itself would be done by some user space
process that would scan files, determine blocks with the same data and
then de-duplicate them by using syscall or IOCTL (2).

That would be very usable feature, which in most cases would allow to
shrink occupied disk space on 50-90%.

Vlad