aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/f2fs/segment.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 8e5ca2869913..487af619aeda 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -1138,8 +1138,6 @@ static void write_compacted_summaries(struct f2fs_sb_info *sbi, block_t blkaddr)
1138 SUM_JOURNAL_SIZE); 1138 SUM_JOURNAL_SIZE);
1139 written_size += SUM_JOURNAL_SIZE; 1139 written_size += SUM_JOURNAL_SIZE;
1140 1140
1141 set_page_dirty(page);
1142
1143 /* Step 3: write summary entries */ 1141 /* Step 3: write summary entries */
1144 for (i = CURSEG_HOT_DATA; i <= CURSEG_COLD_DATA; i++) { 1142 for (i = CURSEG_HOT_DATA; i <= CURSEG_COLD_DATA; i++) {
1145 unsigned short blkoff; 1143 unsigned short blkoff;
@@ -1158,18 +1156,20 @@ static void write_compacted_summaries(struct f2fs_sb_info *sbi, block_t blkaddr)
1158 summary = (struct f2fs_summary *)(kaddr + written_size); 1156 summary = (struct f2fs_summary *)(kaddr + written_size);
1159 *summary = seg_i->sum_blk->entries[j]; 1157 *summary = seg_i->sum_blk->entries[j];
1160 written_size += SUMMARY_SIZE; 1158 written_size += SUMMARY_SIZE;
1161 set_page_dirty(page);
1162 1159
1163 if (written_size + SUMMARY_SIZE <= PAGE_CACHE_SIZE - 1160 if (written_size + SUMMARY_SIZE <= PAGE_CACHE_SIZE -
1164 SUM_FOOTER_SIZE) 1161 SUM_FOOTER_SIZE)
1165 continue; 1162 continue;
1166 1163
1164 set_page_dirty(page);
1167 f2fs_put_page(page, 1); 1165 f2fs_put_page(page, 1);
1168 page = NULL; 1166 page = NULL;
1169 } 1167 }
1170 } 1168 }
1171 if (page) 1169 if (page) {
1170 set_page_dirty(page);
1172 f2fs_put_page(page, 1); 1171 f2fs_put_page(page, 1);
1172 }
1173} 1173}
1174 1174
1175static void write_normal_summaries(struct f2fs_sb_info *sbi, 1175static void write_normal_summaries(struct f2fs_sb_info *sbi,