summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorNiv Sardi2008-03-06 03:43:03 +0100
committerLachlan McIlroy2008-04-18 03:34:47 +0200
commite12070a5dca8bfeee352e9655ae79772a96b32f8 (patch)
tree76ebdb3044efec2699090ac70fe7aa9edbf1a311 /fs/xfs
parentLinux 2.6.25 (diff)
downloadkernel-qcow2-linux-e12070a5dca8bfeee352e9655ae79772a96b32f8.tar.gz
kernel-qcow2-linux-e12070a5dca8bfeee352e9655ae79772a96b32f8.tar.xz
kernel-qcow2-linux-e12070a5dca8bfeee352e9655ae79772a96b32f8.zip
[XFS] actually check error returned by xfs_flush_pages, clean up and
bailout if fails. SGI-PV: 973041 SGI-Modid: xfs-linux-melb:xfs-kern:30462a Signed-off-by: Niv Sardi <xaiki@sgi.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/xfs_bmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/xfs_bmap.c b/fs/xfs/xfs_bmap.c
index 2def273855a2..87f646749817 100644
--- a/fs/xfs/xfs_bmap.c
+++ b/fs/xfs/xfs_bmap.c
@@ -5869,6 +5869,10 @@ xfs_getbmap(
/* xfs_fsize_t last_byte = xfs_file_last_byte(ip); */
error = xfs_flush_pages(ip, (xfs_off_t)0,
-1, 0, FI_REMAPF);
+ if (error) {
+ xfs_iunlock(ip, XFS_IOLOCK_SHARED);
+ return error;
+ }
}
ASSERT(whichfork == XFS_ATTR_FORK || ip->i_delayed_blks == 0);