erofs: clear compacted_2b if compacted_4b_initial > totalidx
authorYue Hu <huyue2@yulong.com>
Tue, 14 Sep 2021 03:59:15 +0000 (11:59 +0800)
committerGao Xiang <hsiangkao@linux.alibaba.com>
Thu, 23 Sep 2021 15:23:04 +0000 (23:23 +0800)
commitc40dd3ca2a45d5bd6e8b3f4ace5cb81493096263
tree42b0d3ca66044b03167fbc4d7b9dc0004d1dd258
parentd705117ddd724a9d4877e338e4587010ab6a1c62
erofs: clear compacted_2b if compacted_4b_initial > totalidx

Currently, the whole indexes will only be compacted 4B if
compacted_4b_initial > totalidx. So, the calculated compacted_2b
is worthless for that case. It may waste CPU resources.

No need to update compacted_4b_initial as mkfs since it's used to
fulfill the alignment of the 1st compacted_2b pack and would handle
the case above.

We also need to clarify compacted_4b_end here. It's used for the
last lclusters which aren't fitted in the previous compacted_2b
packs.

Some messages are from Xiang.

Link: https://lore.kernel.org/r/20210914035915.1190-1-zbestahu@gmail.com
Signed-off-by: Yue Hu <huyue2@yulong.com>
Reviewed-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Reviewed-by: Chao Yu <chao@kernel.org>
[ Gao Xiang: it's enough to use "compacted_4b_initial < totalidx". ]
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
fs/erofs/zmap.c