Hi Xiang,
Thank you for the detailed review of v2. I have addressed all the structural
and style comments in this v3 series:
1. Extracted erofs_cond_t wrappers into a separate include/erofs/cond.h.
2. Replaced sysconf() with erofs_get_available_processors().
3. Refactored the parallel arrays in the decompression task into a clean
struct z_erofs_decompress_item array for better memory layout.
4. Fixed all indentation (enforced tabs) and single-statement
conditionals/gotos.
This series introduces multi-threaded decompression to fsck.erofs to
decouple I/O from decompression, significantly improving extraction
throughput on multicore systems.
Thanks,
Nithurshen
Nithurshen (2):
fsck.erofs: introduce multi-threaded decompression with static
batching
fsck.erofs: implement algorithm-aware pcluster batching
fsck/main.c | 150 ++++++++++++---------------
include/erofs/cond.h | 31 ++++++
include/erofs/internal.h | 20 +++-
include/erofs/lock.h | 3 +
lib/data.c | 216 +++++++++++++++++++++++++++++----------
5 files changed, 277 insertions(+), 143 deletions(-)
create mode 100644 include/erofs/cond.h
--
2.52.0