diff options
author | Theodore Ts'o <tytso@mit.edu> | 2012-08-17 09:56:17 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2012-08-17 09:56:17 -0400 |
commit | 316e4cfd0b0b4ce846fd0fbda2deebcffbd3e440 (patch) | |
tree | a8ab826ad9dbbbc886e5112c8d56d591123b37af /fs/jbd2/recovery.c | |
parent | 67a5da564f97f31c4054d358e00b34d7ee570da5 (diff) | |
download | linux-stable-316e4cfd0b0b4ce846fd0fbda2deebcffbd3e440.tar.gz linux-stable-316e4cfd0b0b4ce846fd0fbda2deebcffbd3e440.tar.bz2 linux-stable-316e4cfd0b0b4ce846fd0fbda2deebcffbd3e440.zip |
jbd2: check return value of blkdev_issue_flush()
blkdev_issue_flush() can fail; make sure the error gets properly
propagated.
This is a port of the equivalent jbd patch from commit 349ecd6a3c0e.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/jbd2/recovery.c')
-rw-r--r-- | fs/jbd2/recovery.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c index 0131e4362534..626846bac32f 100644 --- a/fs/jbd2/recovery.c +++ b/fs/jbd2/recovery.c @@ -289,8 +289,11 @@ int jbd2_journal_recover(journal_t *journal) if (!err) err = err2; /* Make sure all replayed data is on permanent storage */ - if (journal->j_flags & JBD2_BARRIER) - blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL); + if (journal->j_flags & JBD2_BARRIER) { + err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL); + if (!err) + err = err2; + } return err; } |