Re: [PATCH 4/4] xfs: obey minleft values during extent allocation correctly.

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

 



On Thu, Apr 21, 2011 at 01:05:18AM -0400, Lachlan McIlroy wrote:
> ----- Original Message -----
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > When allocating an extent that is long enough to consume the
> > remaining free space in an AG, we need to ensure that the allocation
> > leaves enough space in the AG for any subsequent bmap btree blocks
> > that are needed to track the new extent. These have to be allocated
> > in the same AG as we only reserve enough blocks in an allocation
> > transaction for modification of the freespace trees in a single AG.
> > 
> > xfs_alloc_fix_minleft() has been considering blocks on the AGFL as
> > free blocks available for extent and bmbt block allocation, which is
> > not correct - blocks on the AGFL are there exclusively for the use
> > of the free space btrees. As a result, when minleft is less than the
> > number of blocks on the AGFL, xfs_alloc_fix_minleft() does not trim
> > the given extent to leave minleft blocks available for bmbt
> > allocation, and hence we can fail allocation during bmbt record
> > insertion.
> > 
> > A further problem is that bmbt block allocation doesn't set the
> > total number of blocks correctly for the allocation, thereby
> > allowing it to allocate a block from the AGFL before failing on the
> > second block in xfs_alloc_fix_freelist(). The total needs to be set
> > so that it skips AGs that only have the minimum reserved
> > amount of AGFL blocks free in them.
> > 
> > Similarly, xfs_inobt_alloc_block() needs to set args->total as well.
> 
> Dave, you seem to have dropped the args->total changes?

yeah I did - I forgot to update the commit message. It passes test
250 without the args.total changes, so I figured that the minimum
change needed was the best approach. I'll fix the commit message.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
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