Re: [RFD] XFS: Subvolumes and snapshots....

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 23, 2021 at 02:57:01PM +1000, Chris Dunlop wrote:
> Hi,
> 
> On Thu, Jan 25, 2018 at 04:51:44PM +1100, Dave Chinner wrote:
> > The video from my talk at LCA 2018 yesterday about the XFS subvolume and
> > snapshot support I'm working on has been uploaded and can be found
> > here:
> > 
> > https://www.youtube.com/watch?v=wG8FUvSGROw
> 
> Just out of curiosity... is anything still happening in this area, and if
> so, is there anywhere we can look to get a feel for the current state of
> affairs?

It's at the back of the queue at the moment. There's not enough
time and resources available to do everything we want to do - just
look at the review backlog we already have...

That said, this was largely an experiment to see how easily we could
retrofit subvolumes to XFS, and whether there was a compelling
reason for adding them. While there are some management benefits to
integrating reflink based subvolumes into XFS, the performance and
scalability just isn't there compared to production usage of things
like dm-snapshot.

O(1) snapshot time makes a huge difference to system performance,
but reflink-based snapshots are O(N), not O(1). Hence snapshots run
at about 100k extents/sec so a subvolume with a few million extents
will take 10s of seconds to run a snapshot. During this time, the
subvolume is completely frozen and you can't read from or write to
it....

And that's really the unsolvable problem with a reflink based
snapshot mechanism. Unless there is some other versioning mechanism
in the filesystem metadata, we have to mark all the extents in the
subvolume as shared so the next write will COW them correctly. XFS
does not have that "some other mechanism" like btrfs (COW metadata)
or bcachefs (snapshot epoch in btree keys), so it will never be able
to solve this problem effectively.

That's not to say we'll never add subvolumes and snapshots to XFS,
but because it isn't compellingly better than existing mechanisms
for snapshotting XFS filesystems it really isn't a priority.

As such, if you want a performant, scalable, robust snapshotting
subvolume capable filesystem, bcachefs is the direction you should
be looking. All of the benefits of integrated subvolume snapshots,
yet none of the fundamental architectural deficiencies and design
flaws that limit the practical usability of btrfs for many important
workloads.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux