summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-07-24 18:26:26 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2015-08-05 08:08:14 -0700
commita6d494b6d84697f954aaade204e8a5843078a94f (patch)
tree71a3eb58aefcc18b1905234a2114db9272e21386
parente4e762723a90109c968c6c58f7d9bf4541c22928 (diff)
downloadop-kernel-dev-a6d494b6d84697f954aaade204e8a5843078a94f.zip
op-kernel-dev-a6d494b6d84697f954aaade204e8a5843078a94f.tar.gz
f2fs: fix to build free nids from readaheaded nat pages
When there is no enough free nids in free nid cache, we will try to readahead FREE_NID_PAGES:4 nat pages into page cache of meta_inode, then, reading nat entries in nat page for adding free nids to free nid cache. But when traversing all nat pages we readaheaded in a circulation, our exit condition is not set right, one more nat page will be scanned without readaheading, resulting worse read performance. This patch fixes to read the correct number nat pages to avoid bad performance. Signed-off-by: Chao Yu <chao2.yu@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/node.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 7dd2b9d..ac91107 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1532,7 +1532,7 @@ static void build_free_nids(struct f2fs_sb_info *sbi)
if (unlikely(nid >= nm_i->max_nid))
nid = 0;
- if (i++ == FREE_NID_PAGES)
+ if (++i >= FREE_NID_PAGES)
break;
}
OpenPOWER on IntegriCloud