f2fs: flush journal nat entries for nat_bits during unmount
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 29 Jun 2018 02:34:40 +0000 (19:34 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Wed, 5 Sep 2018 22:07:19 +0000 (15:07 -0700)
Let's flush journal nat entries for speed up in the next run.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/node.c

index 874b0a15ebe956e5ec4638d082ffbd9ea8841c61..6f1db1942e542d0fffb1a88fd3790202849675dc 100644 (file)
@@ -2582,6 +2582,13 @@ void f2fs_flush_nat_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
        nid_t set_idx = 0;
        LIST_HEAD(sets);
 
+       /* during unmount, let's flush nat_bits before checking dirty_nat_cnt */
+       if (enabled_nat_bits(sbi, cpc)) {
+               down_write(&nm_i->nat_tree_lock);
+               remove_nats_in_journal(sbi);
+               up_write(&nm_i->nat_tree_lock);
+       }
+
        if (!nm_i->dirty_nat_cnt)
                return;