Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

Jan Kara 349ecd6a 17dc59ba

+5 -2
+5 -2
fs/jbd/recovery.c
··· 265 265 if (!err) 266 266 err = err2; 267 267 /* Flush disk caches to get replayed data on the permanent storage */ 268 - if (journal->j_flags & JFS_BARRIER) 269 - blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL); 268 + if (journal->j_flags & JFS_BARRIER) { 269 + err2 = blkdev_issue_flush(journal->j_fs_dev, GFP_KERNEL, NULL); 270 + if (!err) 271 + err = err2; 272 + } 270 273 271 274 return err; 272 275 }