]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
f2fs: set dirty state for filesystem only when updating meta data
authorChao Yu <yuchao0@huawei.com>
Thu, 18 Aug 2016 09:46:14 +0000 (17:46 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 30 Aug 2016 01:31:07 +0000 (18:31 -0700)
We don't guarantee integrity of user data after checkpoint, since we only
guarantee meta data integrity for data consistency of filesystem.

Due to above reason, we only need to set fs as dirty when meta data is
updated, so that we can skip writing checkpoint in some case of non-meta
data is updated.

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

index 0f4599099dbc89b97ef9d043dfc164618bd63c06..5d2db47e9929c261241e9c6392b87ac76c55a94f 100644 (file)
@@ -1200,6 +1200,10 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
 static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)
 {
        percpu_counter_inc(&sbi->nr_pages[count_type]);
+
+       if (count_type == F2FS_DIRTY_DATA || count_type == F2FS_INMEM_PAGES)
+               return;
+
        set_sbi_flag(sbi, SBI_IS_DIRTY);
 }