f2fs: don't need to collect dirty sit entries and flush journal when there's no dirty...
authorWanpeng Li <wanpeng.li@linux.intel.com>
Fri, 27 Feb 2015 08:52:50 +0000 (16:52 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 10 Apr 2015 22:08:29 +0000 (15:08 -0700)
 Don't need to collect dirty sit entries and flush sit journal to sit
 entries when there's no dirty sit entries. This patch check dirty_sentries
 earlier just like flush_nat_entries.

Signed-off-by: Wanpeng Li <wanpeng.li@linux.intel.com>
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/segment.c

index 29c04ed..1e90934 100644 (file)
@@ -1733,6 +1733,9 @@ void flush_sit_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
        mutex_lock(&curseg->curseg_mutex);
        mutex_lock(&sit_i->sentry_lock);
 
+       if (!sit_i->dirty_sentries)
+               goto out;
+
        /*
         * add and account sit entries of dirty bitmap in sit entry
         * set temporarily
@@ -1747,9 +1750,6 @@ void flush_sit_entries(struct f2fs_sb_info *sbi, struct cp_control *cpc)
        if (!__has_cursum_space(sum, sit_i->dirty_sentries, SIT_JOURNAL))
                remove_sits_in_journal(sbi);
 
-       if (!sit_i->dirty_sentries)
-               goto out;
-
        /*
         * there are two steps to flush sit entries:
         * #1, flush sit entries to journal in current cold data summary block.