f2fs: introduce f2fs_submit_merged_bio_cond
[deliverable/linux.git] / fs / f2fs / node.c
index 511c0e7c3ae182e53d37437cd307b2594f82545f..e08b8d5e8ca2b8a1bdb9002a1bb82c21fba0fcdd 100644 (file)
@@ -1337,8 +1337,13 @@ continue_unlock:
                goto next_step;
        }
 
-       if (wrote)
-               f2fs_submit_merged_bio(sbi, NODE, WRITE);
+       if (wrote) {
+               if (ino)
+                       f2fs_submit_merged_bio_cond(sbi, NULL, NULL,
+                                                       ino, NODE, WRITE);
+               else
+                       f2fs_submit_merged_bio(sbi, NODE, WRITE);
+       }
        return nwritten;
 }
 
@@ -1433,9 +1438,13 @@ static int f2fs_write_node_page(struct page *page,
        set_node_addr(sbi, &ni, fio.blk_addr, is_fsync_dnode(page));
        dec_page_count(sbi, F2FS_DIRTY_NODES);
        up_read(&sbi->node_write);
+
+       if (wbc->for_reclaim)
+               f2fs_submit_merged_bio_cond(sbi, NULL, page, 0, NODE, WRITE);
+
        unlock_page(page);
 
-       if (wbc->for_reclaim || unlikely(f2fs_cp_error(sbi)))
+       if (unlikely(f2fs_cp_error(sbi)))
                f2fs_submit_merged_bio(sbi, NODE, WRITE);
 
        return 0;
This page took 0.028803 seconds and 5 git commands to generate.