summaryrefslogtreecommitdiff
path: root/fs/jbd
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2012-07-09 23:38:36 +0200
committerJan Kara <jack@suse.cz>2012-07-09 23:38:36 +0200
commit349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23 (patch)
treefab48fd2eb71c403f7509ad461db09b628022c34 /fs/jbd
parent17dc59ba418c3d6b0675d5b74d280acab2d4e369 (diff)
downloadlinux-stable-349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23.tar.gz
jbd: Check return value of blkdev_issue_flush()
blkdev_issue_flush() can fail. Make sure the error gets properly propagated. Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/jbd')
-rw-r--r--fs/jbd/recovery.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/jbd/recovery.c b/fs/jbd/recovery.c
index 008bf062fd26..a748fe21465a 100644
--- a/fs/jbd/recovery.c
+++ b/fs/jbd/recovery.c
@@ -265,8 +265,11 @@ int journal_recover(journal_t *journal)
if (!err)
err = err2;
/* Flush disk caches to get replayed data on the permanent storage */
- if (journal->j_flags & JFS_BARRIER)
- blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL);
+ if (journal->j_flags & JFS_BARRIER) {
+ err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL);
+ if (!err)
+ err = err2;
+ }
return err;
}