diff options
author | Jan Kara <jack@suse.cz> | 2012-07-09 23:38:36 +0200 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2012-07-09 23:38:36 +0200 |
commit | 349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23 (patch) | |
tree | fab48fd2eb71c403f7509ad461db09b628022c34 /fs/jbd/recovery.c | |
parent | 17dc59ba418c3d6b0675d5b74d280acab2d4e369 (diff) | |
download | linux-stable-349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23.tar.gz linux-stable-349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23.tar.bz2 linux-stable-349ecd6a3c0e4f97fa4dc6bd3917455ccc106d23.zip |
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/recovery.c')
-rw-r--r-- | fs/jbd/recovery.c | 7 |
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; } |