f2fs: submit node page write bios when really required
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 11 Mar 2016 23:33:22 +0000 (15:33 -0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 18 Mar 2016 04:19:47 +0000 (21:19 -0700)
If many threads calls fsync with data writes, we don't need to flush every
bios having node page writes.
The f2fs_wait_on_page_writeback will flush its bios when the page is really
needed.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c

index 771166d6dfa6a78f1dbe3d9f60c42c68c0673138..118321bd1a7fa9a71694d288615d85b660f03d7e 100644 (file)
@@ -1236,7 +1236,7 @@ int sync_node_pages(struct f2fs_sb_info *sbi, nid_t ino,
        pgoff_t index, end;
        struct pagevec pvec;
        int step = ino ? 2 : 0;
-       int nwritten = 0, wrote = 0;
+       int nwritten = 0;
 
        pagevec_init(&pvec, 0);
 
@@ -1326,8 +1326,6 @@ continue_unlock:
 
                        if (NODE_MAPPING(sbi)->a_ops->writepage(page, wbc))
                                unlock_page(page);
-                       else
-                               wrote++;
 
                        if (--wbc->nr_to_write == 0)
                                break;
@@ -1345,14 +1343,6 @@ continue_unlock:
                step++;
                goto next_step;
        }
-
-       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;
 }