Re: [PATCH 3/9] xfs: correctly decrement the extent buffer index in xfs_bmap_del_extent

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

 



----- Original Message -----
> ----- Original Message -----
> > The code in xfs_bmap_del_extent does not correctly decrement the
> > extent buffer
> > index when deleting a whole extent. Most of the time this gets
> > caught
> > by
> > checks in xfs_bmapi that work around it and decrement it manually
> > and
> > thus
> > wasn't noticed so far.
> >
> > Based on an earlier patch from Lachlan McIlroy.
> >
> > Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> >
> > Index: xfs/fs/xfs/xfs_bmap.c
> > ===================================================================
> > --- xfs.orig/fs/xfs/xfs_bmap.c 2011-05-10 17:11:21.212901236 +0200
> > +++ xfs/fs/xfs/xfs_bmap.c 2011-05-10 17:13:36.177399627 +0200
> > @@ -2916,8 +2916,10 @@ xfs_bmap_del_extent(
> > */
> > xfs_iext_remove(ip, *idx, 1,
> > whichfork == XFS_ATTR_FORK ? BMAP_ATTRFORK : 0);
> > + --*idx;
> 
> I can see why this is needed but if we remove extent at
> idx 0 then wont this go negative and confuse the next
> call to xfs_iext_get_ext()?

Ignore this comment - I see you've fixed that case in patch 6.  Guess I should have looked ahead.

> 
> > if (delay)
> > break;
> > +
> > XFS_IFORK_NEXT_SET(ip, whichfork,
> > XFS_IFORK_NEXTENTS(ip, whichfork) - 1);
> > flags |= XFS_ILOG_CORE;
> >
> > _______________________________________________
> > xfs mailing list
> > xfs@xxxxxxxxxxx
> > http://oss.sgi.com/mailman/listinfo/xfs
> 
> _______________________________________________
> 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