summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2020-11-11 08:07:37 -0800
committerDarrick J. Wong <darrick.wong@oracle.com>2020-11-11 08:07:37 -0800
commit2bd3fa793aaa7e98b74e3653fdcc72fa753913b5 (patch)
tree82543cb20f7fd39e283d11a1a7f294985213bc5b /fs
parent54e9b09e153842ab5adb8a460b891e11b39e9c3d (diff)
downloadlinux-stable-2bd3fa793aaa7e98b74e3653fdcc72fa753913b5.tar.gz
linux-stable-2bd3fa793aaa7e98b74e3653fdcc72fa753913b5.tar.bz2
linux-stable-2bd3fa793aaa7e98b74e3653fdcc72fa753913b5.zip
xfs: fix a missing unlock on error in xfs_fs_map_blocks
We also need to drop the iolock when invalidate_inode_pages2 fails, not only on all other error or successful cases. Fixes: 527851124d10 ("xfs: implement pNFS export operations") Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/xfs/xfs_pnfs.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_pnfs.c b/fs/xfs/xfs_pnfs.c
index b101feb2aab4..f3082a957d5e 100644
--- a/fs/xfs/xfs_pnfs.c
+++ b/fs/xfs/xfs_pnfs.c
@@ -134,7 +134,7 @@ xfs_fs_map_blocks(
goto out_unlock;
error = invalidate_inode_pages2(inode->i_mapping);
if (WARN_ON_ONCE(error))
- return error;
+ goto out_unlock;
end_fsb = XFS_B_TO_FSB(mp, (xfs_ufsize_t)offset + length);
offset_fsb = XFS_B_TO_FSBT(mp, offset);