linux-stable/fs/f2fs
Chao Yu 94afd6d6e5 f2fs: extent cache: support unaligned extent
Compressed inode may suffer read performance issue due to it can not
use extent cache, so I propose to add this unaligned extent support
to improve it.

Currently, it only works in readonly format f2fs image.

Unaligned extent: in one compressed cluster, physical block number
will be less than logical block number, so we add an extra physical
block length in extent info in order to indicate such extent status.

The idea is if one whole cluster blocks are contiguous physically,
once its mapping info was readed at first time, we will cache an
unaligned (or aligned) extent info entry in extent cache, it expects
that the mapping info will be hitted when rereading cluster.

Merge policy:
- Aligned extents can be merged.
- Aligned extent and unaligned extent can not be merged.

Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2021-08-05 11:26:11 -07:00
..
acl.c f2fs: clean up build warnings 2021-04-10 10:36:39 -07:00
acl.h fs: make helpers idmap mount aware 2021-01-24 14:27:20 +01:00
checkpoint.c f2fs: fix to stop filesystem update once CP failed 2021-08-03 18:08:29 -07:00
compress.c f2fs: extent cache: support unaligned extent 2021-08-05 11:26:11 -07:00
data.c f2fs: extent cache: support unaligned extent 2021-08-05 11:26:11 -07:00
debug.c f2fs: show sbi status in debugfs/f2fs/status 2021-08-02 11:24:26 -07:00
dir.c f2fs: reduce the scope of setting fsck tag when de->name_len is zero 2021-08-04 15:51:21 -07:00
extent_cache.c f2fs: extent cache: support unaligned extent 2021-08-05 11:26:11 -07:00
f2fs.h f2fs: extent cache: support unaligned extent 2021-08-05 11:26:11 -07:00
file.c f2fs: add sysfs node to control ra_pages for fadvise seq file 2021-08-03 11:16:22 -07:00
gc.c f2fs: Revert "f2fs: Fix indefinite loop in f2fs_gc() v1" 2021-07-19 11:54:48 -07:00
gc.h f2fs: introduce gc_merge mount option 2021-03-30 18:48:56 -07:00
hash.c f2fs: Handle casefolding with Encryption 2020-12-02 22:00:21 -08:00
inline.c f2fs: restructure f2fs page.private layout 2021-05-14 11:22:08 -07:00
inode.c f2fs: compress: add compress_inode to cache compressed blocks 2021-06-23 01:09:35 -07:00
Kconfig f2fs: Kconfig: clean up config options about compression 2021-08-05 10:46:58 -07:00
Makefile f2fs: deprecate f2fs_trace_io 2021-01-27 15:20:07 -08:00
namei.c f2fs: compress: add nocompress extensions support 2021-07-01 18:34:31 -07:00
node.c f2fs: extent cache: support unaligned extent 2021-08-05 11:26:11 -07:00
node.h f2fs: swap: support migrating swapfile in aligned write mode 2021-06-23 01:09:35 -07:00
recovery.c f2fs: introduce f2fs_casefolded_name slab cache 2021-06-23 01:09:35 -07:00
segment.c f2fs: fix to stop filesystem update once CP failed 2021-08-03 18:08:29 -07:00
segment.h f2fs-for-5.13-rc1 2021-05-04 18:03:38 -07:00
shrinker.c f2fs: avoid race condition for shrinker count 2020-12-03 00:59:26 -08:00
super.c f2fs: add sysfs node to control ra_pages for fadvise seq file 2021-08-03 11:16:22 -07:00
sysfs.c f2fs: add sysfs node to control ra_pages for fadvise seq file 2021-08-03 11:16:22 -07:00
verity.c f2fs-for-5.13-rc1 2021-05-04 18:03:38 -07:00
xattr.c f2fs: clean up build warnings 2021-04-10 10:36:39 -07:00
xattr.h f2fs: code cleanup by removing ifdef macro surrounding 2020-05-26 18:56:10 -07:00