[PATCH] xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()

Jan Kara jack at suse.cz
Wed Jan 11 12:52:10 CST 2012


Commit b52a360b forgot to call xfs_iunlock() when it detected corrupted
symplink and bailed out. Fix it by jumping to 'out' instead of doing return.

CC: stable at kernel.org
CC: Carlos Maiolino <cmaiolino at redhat.com>
Signed-off-by: Jan Kara <jack at suse.cz>
---
 fs/xfs/xfs_vnodeops.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index f2fea86..6156cd6 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -131,7 +131,8 @@ xfs_readlink(
 			 __func__, (unsigned long long) ip->i_ino,
 			 (long long) pathlen);
 		ASSERT(0);
-		return XFS_ERROR(EFSCORRUPTED);
+		error = XFS_ERROR(EFSCORRUPTED);
+		goto out;
 	}
 
 
-- 
1.7.1




More information about the xfs mailing list