Re: [PATCH 0/16] xfs: first part of rmapbt functionality

Darrick J. Wong
2016-03-10T16:58:02Z

On Thu, Mar 10, 2016 at 06:14:34AM -0800, Christoph Hellwig wrote:
> On Tue, Mar 08, 2016 at 03:16:02PM +1100, Dave Chinner wrote:
> > This isn't all of the rmap functionality. It's patches up to the
> > point where I've come across the first piece that needs to be
> > reworked (the rmap intent execution code), so there's no point
> > holding these back until I've sorted that out. This builds on top of
> > for-next and the patch set I posted yesterday.
> >
> > Darrick, I've changed the authorship of the patches to reflect
> > the original series this has come from - can you check to see if
> > there's anything I got wrong when I did that?
>
> I'll come some minor bits on the actual patches, but I'd like to
> understand a few fundamental things first:
>
> For one Darrick has introduced a new rmapxbt btree recently, which
> allows using a rmap on reflink enabled file systems. In his tree
> we thus have two different implementation of a reverse mapping
> btree. Is there any good reason to keep it this way? For one
> reflinks are a compelling feature that I doubt people want to
> disable in the long run, so most filesystem will be using rmapxbt.
> I also don't think having these two implementations is good for the
> testing matrix in the long run.

The only compelling reason for the split rmapbt/rmapxbt is to increase the
fanout factor for (!reflink && rmap) by a factor of 5. If we assume a 4K
block size, that works out to the rmapbt occupying about 0.023% more space.
(It's half a percent for a 1k block size, but I assume that's not a common
case.)

Functionality-wise, there's no reason why we can't just run the rmapxbt
even if reflink is disabled. If our notion is to introduce both features
at the same time then Christoph is probably right that we don't need to
have both tree types.

--D

>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs