Re: block allocations for the refcount btree

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

 



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.  

_______________________________________________
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