Re: block allocations for the refcount btree

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

 



On Sat, Feb 13, 2016 at 01:33:10PM +1100, Dave Chinner wrote:
> On Fri, Feb 12, 2016 at 11:10:46AM -0800, Christoph Hellwig wrote:
> > On Thu, Feb 11, 2016 at 08:40:58AM +1100, Dave Chinner wrote:
> > > I run into that from time to time (maybe once a month) on a vanilla
> > > kernel.
> > > 
> > > IIRC, the problem is the delayed allocation extent split runs out of
> > > it's reserved block count if you split it enough times. The case
> > > I've seen is that  the indlen calculated in xfs_bmap_worst_indlen()
> > > ends up too small for a subsequent allocation after we've called
> > > xfs_bmap_del_extent() to delete the middle of a delalloc extent too
> > > many times.
> > > 
> > > Brian had some patches that attempted to solve it - we may have
> > > simply dropped the ball on this (again).
> > > 
> > > http://oss.sgi.com/archives/xfs/2014-09/msg00337.html
> > 
> > I'm pretty sure that is a separate issue.  With the refcount btree we may
> > allocate an extent (or rather just a single block) in xfs_alloc_ag_vextent
> > as called from xfs_refcountbt_alloc_block.  The reservation helps us to
> > ensure this block is always available, but we still need to account for
> > that in xfs_trans_reserve(), which we currently don't do for itruncate
> > transactions.  

Hmm.  The per-AG reservation clients also had some problems counting the number
of tree blocks in use as part of setting up the reservation; that might have
had something to do with it.  Dunno, I'll go look at that part of the code
again when I finish interval query support for rmap.

> Ok, so we may have two different issues with a similar failure
> symptom. As it is, I don't think this is a show stopper - we're
> expecting to find these sorts of issues as we go along (hence the
> experimental tag on the feature) and I think, at this point, getting
> review and an initial merge done is more important...

I've noticed that I can trigger that assert (the log reservation one) fairly
regularly when running xfs/140 on a 800MB disk.

Brain dead, going to bed.  Next on my list is to rebase the more stable
parts of the patchset against Dave's for-4.6 branch and do another mass
mailing.

--D

> 
> Cheers,
> 
> Dave.
> -- 
> Dave Chinner
> david@xxxxxxxxxxxxx
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

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



[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux