aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs/gc.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/f2fs/gc.c')
-rw-r--r--fs/f2fs/gc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index 29ceb9d71c8c..c68fba5ffadb 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -520,6 +520,10 @@ static int check_dnode(struct f2fs_sb_info *sbi, struct f2fs_summary *sum,
520 520
521static void move_data_page(struct inode *inode, struct page *page, int gc_type) 521static void move_data_page(struct inode *inode, struct page *page, int gc_type)
522{ 522{
523 struct writeback_control wbc = {
524 .sync_mode = 1,
525 };
526
523 if (gc_type == BG_GC) { 527 if (gc_type == BG_GC) {
524 if (PageWriteback(page)) 528 if (PageWriteback(page))
525 goto out; 529 goto out;
@@ -536,7 +540,7 @@ static void move_data_page(struct inode *inode, struct page *page, int gc_type)
536 inode_dec_dirty_dents(inode); 540 inode_dec_dirty_dents(inode);
537 } 541 }
538 set_cold_data(page); 542 set_cold_data(page);
539 do_write_data_page(page); 543 do_write_data_page(page, &wbc);
540 clear_cold_data(page); 544 clear_cold_data(page);
541 } 545 }
542out: 546out: