f2fs: refactor flush_nat_entries to remove costly reorganizing ops
authorJaegeuk Kim <jaegeuk@kernel.org>
Mon, 22 Sep 2014 18:40:48 +0000 (11:40 -0700)
committerIan Chang <ianc@nvidia.com>
Wed, 27 Jan 2016 10:04:16 +0000 (18:04 +0800)
commit3e16b18e3b296f4414f99f50ceaa5f32bb975d0d
tree8a50802c113f7917294f4c926ec08ca82f2c37c5
parent63a5c033b846f56ac129a6f8230dbad8fd048dd9
f2fs: refactor flush_nat_entries to remove costly reorganizing ops

Previously, f2fs tries to reorganize the dirty nat entries into multiple sets
according to its nid ranges. This can improve the flushing nat pages, however,
if there are a lot of cached nat entries, it becomes a bottleneck.

This patch introduces a new set management flow by removing dirty nat list and
adding a series of set operations when the nat entry becomes dirty.

Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/node.c
fs/f2fs/node.h