[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]

 



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;
 		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


[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