summary refs log tree commit diff
path: root/fs/hostfs
diff options
context:
space:
mode:
authorChao Yu <chao2.yu@samsung.com>2015-08-19 19:16:09 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2015-08-21 22:45:18 -0700
commitdac2ddefe62841efc0b6cdcb0bbf3e3594aa01bf (patch)
treed090fbadfba9ce6b8a36cfc04d7e66ea87dab463 /fs/hostfs
parentef05e221995057a8588cad675992ca2cb47e9891 (diff)
downloadlinux-dac2ddefe62841efc0b6cdcb0bbf3e3594aa01bf.tar.gz
f2fs: lookup neighbor extent nodes for merging later
In __lookup_extent_tree_ret we will not try to find neighbor nodes if
we find the target node, in this condition, we will lost the chance to
merge the new mapping with exist extent node later.

So our extent cache of inode will be fragmented after overwrite exist
file, we can see the number of extent node increases intensively in
following test case:

dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024

Extent Cache:
  - Hit Count: L1-1:0 L1-2:0 L2:0
  - Hit Ratio: 0% (0 / 3072)
  - Inner Struct Count: tree: 1, node: 1

dd if=/dev/zero of=/mnt/f2fs/4m bs=4K count=1024 conv=notrunc

Extent Cache:
  - Hit Count: L1-1:2048 L1-2:0 L2:0
  - Hit Ratio: 33% (2048 / 6144)
  - Inner Struct Count: tree: 1, node: 961

This patch fixes to lookup neighbors of target node for further
merging.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/hostfs')
0 files changed, 0 insertions, 0 deletions