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

From: Chris Mason
Date: Wed Jun 13 2007 - 06:39:13 EST


On Tue, Jun 12, 2007 at 11:46:20PM -0400, John Stoffel wrote:
> >>>>> "Chris" == Chris Mason <chris.mason@xxxxxxxxxx> writes:
>
> Chris> After the last FS summit, I started working on a new filesystem
> Chris> that maintains checksums of all file data and metadata. Many
> Chris> thanks to Zach Brown for his ideas, and to Dave Chinner for his
> Chris> help on benchmarking analysis.
>
> Chris> The basic list of features looks like this:
>
> Chris> * Extent based file storage (2^64 max file size)
> Chris> * Space efficient packing of small files
> Chris> * Space efficient indexed directories
> Chris> * Dynamic inode allocation
> Chris> * Writable snapshots
> Chris> * Subvolumes (separate internal filesystem roots)
> Chris> - Object level mirroring and striping
> Chris> * Checksums on data and metadata (multiple algorithms available)
> Chris> - Strong integration with device mapper for multiple device support
> Chris> - Online filesystem check
> Chris> * Very fast offline filesystem check
> Chris> - Efficient incremental backup and FS mirroring
>
> So, can you resize a filesystem both bigger and smaller? Or is that
> implicit in the Object level mirroring and striping?

Growing the FS is just either extending or adding a new extent tree.
Shrinking is more complex. The extent trees do have back pointers to
the objectids that own the extent, but snapshotting makes that a little
non-deterministic. The good news is there are no fixed locations for
any of the metadata. So it is at least possible to shrink and pop out
arbitrary chunks.

>
> As a user of Netapps, having quotas (if only for reporting purposes)
> and some way to migrate non-used files to slower/cheaper storage would
> be great.

So far, I'm not planning quotas beyond the subvolume level.

>
> Ie. being able to setup two pools, one being RAID6, the other being
> RAID1, where all currently accessed files are in the RAID1 setup, but
> if un-used get migrated to the RAID6 area.

HSM in general is definitely interesting. I'm afraid it is a long ways
off, but it could be integrated into the scrubber that wanders the trees
in the background.

-chris

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/