Patchwork [1/2] jbd: Check return value of blkdev_issue_flush()

login
register
mail settings
Submitter Jan Kara
Date July 9, 2012, 9:45 p.m.
Message ID <1341870307-11803-1-git-send-email-jack@suse.cz>
Download mbox | patch
Permalink /patch/169967/
State Superseded
Headers show

Comments

Jan Kara - July 9, 2012, 9:45 p.m.
blkdev_issue_flush() can fail. Make sure the error gets properly propagated.

Signed-off-by: Jan Kara <jack@suse.cz>
---
 fs/jbd/recovery.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

 I have queued this patch in my tree and plan to send it to Linus in the
next merge window.

Patch

diff --git a/fs/jbd/recovery.c b/fs/jbd/recovery.c
index 008bf06..a748fe2 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;
 }