summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-01-11 18:52:10 +0000
committerSimone Willett <swillett@nvidia.com>2012-02-09 18:20:18 -0800
commitb51e517d28543e8ea56ae13ccf1f42c475aa3275 (patch)
tree3d30ab9fc18efd1da6446b2af90c4ea4dcfcf814
parent62471cd2ebd7adbb9c360bdb7e2970a59e0745f0 (diff)
xfs: Fix missing xfs_iunlock() on error recovery path in xfs_readlink()
commit 9b025eb3a89e041bab6698e3858706be2385d692 upstream. 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: Carlos Maiolino <cmaiolino@redhat.com> Signed-off-by: Jan Kara <jack@suse.cz> Reviewed-by: Alex Elder <elder@kernel.org> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com> Change-Id: Ie83d93a6bbe0997f8a41afa9e3bf6f12cee476c6 Reviewed-on: http://git-master/r/79655 Reviewed-by: Automatic_Commit_Validation_User
-rw-r--r--fs/xfs/xfs_vnodeops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
index b9e28730bbd6..d92419f0f2bb 100644
--- a/fs/xfs/xfs_vnodeops.c
+++ b/fs/xfs/xfs_vnodeops.c
@@ -132,7 +132,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;
}