summaryrefslogtreecommitdiffstats
path: root/fs/jfs
diff options
context:
space:
mode:
authorQuorum Laval <quorum.laval@gmail.com>2016-08-26 15:40:40 +0100
committerDave Kleikamp <dave.kleikamp@oracle.com>2016-08-29 15:51:39 -0500
commit7cfcd8b79ab2472102d9229863e86ff208f959d4 (patch)
tree1459552b4e823cfba84b4f348ae8b152b46f5c1f /fs/jfs
parentb8927721ae9d5ac0582d29d7b8c267d465ad5f00 (diff)
downloadlinux-7cfcd8b79ab2472102d9229863e86ff208f959d4.tar.gz
linux-7cfcd8b79ab2472102d9229863e86ff208f959d4.tar.bz2
linux-7cfcd8b79ab2472102d9229863e86ff208f959d4.zip
jfs: jump to error_out when filemap_{fdatawait, write_and_wait} fails
filemap_fdatawait/filemap_write_and_wait may fail, so check the return value and jump to error_out in the case of error. Signed-off-by: Quorum Laval <quorum.laval@gmail.com> Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Diffstat (limited to 'fs/jfs')
-rw-r--r--fs/jfs/resize.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/jfs/resize.c b/fs/jfs/resize.c
index 90b3bc21e9b0..bd9b641ada2c 100644
--- a/fs/jfs/resize.c
+++ b/fs/jfs/resize.c
@@ -379,8 +379,14 @@ int jfs_extendfs(struct super_block *sb, s64 newLVSize, int newLogSize)
* cached in meta-data cache, and not written out
* by txCommit();
*/
- filemap_fdatawait(ipbmap->i_mapping);
- filemap_write_and_wait(ipbmap->i_mapping);
+ rc = filemap_fdatawait(ipbmap->i_mapping);
+ if (rc)
+ goto error_out;
+
+ rc = filemap_write_and_wait(ipbmap->i_mapping);
+ if (rc)
+ goto error_out;
+
diWriteSpecial(ipbmap, 0);
newPage = nPages; /* first new page number */