erofs: add on-disk compressed tail-packing inline support
authorYue Hu <huyue2@yulong.com>
Tue, 28 Dec 2021 05:46:04 +0000 (13:46 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Thu, 30 Dec 2021 16:51:10 +0000 (00:51 +0800)
commitab92184ff8f12979f3d3dd5ed601ed85770d81ba
tree40b463add2daf8185d9317606644778ef0e8b20c
parentcecf864d3d76d50e3d9c58145e286a0b8c284e92
erofs: add on-disk compressed tail-packing inline support

Introduces erofs compressed tail-packing inline support.

This approach adds a new field called `h_idata_size' in the
per-file compression header to indicate the encoded size of
each tail-packing pcluster.

At runtime, it will find the start logical offset of the tail
pcluster when initializing per-inode zmap and record such
extent (headlcn, idataoff) information to the in-memory inode.
Therefore, follow-on requests can directly recognize if one
pcluster is a tail-packing inline pcluster or not.

Link: https://lore.kernel.org/r/20211228054604.114518-6-hsiangkao@linux.alibaba.com
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Yue Hu <huyue2@yulong.com>
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/erofs_fs.h
fs/erofs/internal.h
fs/erofs/super.c
fs/erofs/sysfs.c
fs/erofs/zmap.c