jbd: Check return value of blkdev_issue_flush()
authorJan Kara <jack@suse.cz>
Mon, 9 Jul 2012 21:38:36 +0000 (23:38 +0200)
committerJan Kara <jack@suse.cz>
Mon, 9 Jul 2012 21:38:36 +0000 (23:38 +0200)
blkdev_issue_flush() can fail. Make sure the error gets properly propagated.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/jbd/recovery.c

index 008bf06..a748fe2 100644 (file)
@@ -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;
 }