f2fs: remove redundant set_page_dirty from write_compacted_summaries
authorChao Yu <chao2.yu@samsung.com>
Thu, 24 Oct 2013 07:08:28 +0000 (15:08 +0800)
committerJaegeuk Kim <jaegeuk.kim@samsung.com>
Fri, 25 Oct 2013 07:54:39 +0000 (16:54 +0900)
Previously, set_page_dirty is called every time after writting one summary info
into compacted summary page,
To avoid redundant set_page_dirty, we only call set_page_dirty before release
page.

Signed-off-by: Yu Chao <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
fs/f2fs/segment.c

index 8e5ca286991301322ff0ec6ceca162a3ea19ff54..487af619aedab4a06ce43366af83d0a84adc7cc6 100644 (file)
@@ -1138,8 +1138,6 @@ static void write_compacted_summaries(struct f2fs_sb_info *sbi, block_t blkaddr)
                                                SUM_JOURNAL_SIZE);
        written_size += SUM_JOURNAL_SIZE;
 
-       set_page_dirty(page);
-
        /* Step 3: write summary entries */
        for (i = CURSEG_HOT_DATA; i <= CURSEG_COLD_DATA; i++) {
                unsigned short blkoff;
@@ -1158,18 +1156,20 @@ static void write_compacted_summaries(struct f2fs_sb_info *sbi, block_t blkaddr)
                        summary = (struct f2fs_summary *)(kaddr + written_size);
                        *summary = seg_i->sum_blk->entries[j];
                        written_size += SUMMARY_SIZE;
-                       set_page_dirty(page);
 
                        if (written_size + SUMMARY_SIZE <= PAGE_CACHE_SIZE -
                                                        SUM_FOOTER_SIZE)
                                continue;
 
+                       set_page_dirty(page);
                        f2fs_put_page(page, 1);
                        page = NULL;
                }
        }
-       if (page)
+       if (page) {
+               set_page_dirty(page);
                f2fs_put_page(page, 1);
+       }
 }
 
 static void write_normal_summaries(struct f2fs_sb_info *sbi,