f2fs: increase pages_skipped when skipping writepages
[deliverable/linux.git] / fs / f2fs / checkpoint.c
index 1f52b70ff9d19575b18d8ea24f80ec9023490e43..aef32f36e2f3f7ce12c5578b65cd6e34ca202416 100644 (file)
@@ -190,12 +190,9 @@ static int f2fs_write_meta_pages(struct address_space *mapping,
        int nrpages = nr_pages_to_skip(sbi, META);
        long written;
 
-       if (wbc->for_kupdate)
-               return 0;
-
        /* collect a number of dirty meta pages and write together */
-       if (get_pages(sbi, F2FS_DIRTY_META) < nrpages)
-               return 0;
+       if (wbc->for_kupdate || get_pages(sbi, F2FS_DIRTY_META) < nrpages)
+               goto skip_write;
 
        /* if mounting is failed, skip writing node pages */
        mutex_lock(&sbi->cp_mutex);
@@ -203,6 +200,10 @@ static int f2fs_write_meta_pages(struct address_space *mapping,
        mutex_unlock(&sbi->cp_mutex);
        wbc->nr_to_write -= written;
        return 0;
+
+skip_write:
+       wbc->pages_skipped += get_pages(sbi, F2FS_DIRTY_META);
+       return 0;
 }
 
 long sync_meta_pages(struct f2fs_sb_info *sbi, enum page_type type,
This page took 0.024108 seconds and 5 git commands to generate.