f2fs: make fault injection covering __submit_flush_wait()
authorChao Yu <yuchao0@huawei.com>
Tue, 19 Feb 2019 09:08:18 +0000 (17:08 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 13 Mar 2019 01:59:18 +0000 (18:59 -0700)
This patch changes to allow failure of f2fs_bio_alloc() in
__submit_flush_wait(), which can simulate flush error in checkpoint()
for covering more error paths.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/segment.c

index fdd8cd21522f4d51f9f9053bfdc05a81bfd72fe7..2537893e94669f59eee47d1943ed5629cc8dd805 100644 (file)
@@ -542,9 +542,13 @@ void f2fs_balance_fs_bg(struct f2fs_sb_info *sbi)
 static int __submit_flush_wait(struct f2fs_sb_info *sbi,
                                struct block_device *bdev)
 {
-       struct bio *bio = f2fs_bio_alloc(sbi, 0, true);
+       struct bio *bio;
        int ret;
 
+       bio = f2fs_bio_alloc(sbi, 0, false);
+       if (!bio)
+               return -ENOMEM;
+
        bio->bi_opf = REQ_OP_WRITE | REQ_SYNC | REQ_PREFLUSH;
        bio_set_dev(bio, bdev);
        ret = submit_bio_wait(bio);