[PATCH] xfs_bmap_add_extent_delay_real should set br_startoff

bpm at sgi.com bpm at sgi.com
Thu Jan 13 13:39:28 CST 2011


Hi Dave,

On Thu, Jan 13, 2011 at 11:52:07AM +1100, Dave Chinner wrote:
> On Wed, Jan 12, 2011 at 01:42:28PM -0600, Ben Myers wrote:
> > When filling in the middle of a previous delayed allocation, set
> > br_startoff of the new delay extent to the right to NULLSTARTBLOCK
> > so that it is ignored by xfs_bmap_extent_to_btree.  This prevents
> > a forced shutdown when that in-core extent is converted from delay
> > to real and is found to be already in the btree.  The value is
> > overwritten below.

You're right.  That's not a very good description.  I'll see about
describing it here and then see about boiling it down for repost.
 
> I'm not sure I understand what the problem is from your description.
> What actually goes wrong in xfs_bmap_extent_to_btree()?

While testing a related patch whose side effect is to exercise this code
more often...

I was hitting XFS_WANT_CORRUPTED_GOTOs in xfs_bmap_extent_delay_real in the
LEFT_FILLING, RIGHT_FILLING cases where we are going to insert an extent
into the btree and we look it up to make sure it isn't already there:



More information about the xfs mailing list