[PATCH] erofs-utils: fsck: support interlaced uncompressed pcluster

Yue Hu zbestahu at gmail.com
Wed Dec 21 18:41:30 AEDT 2022


From: Yue Hu <huyue2 at coolpad.com>

Support uncompressed data layout with on-disk interlaced offset in
compression mode for fsck.erofs.

Signed-off-by: Yue Hu <huyue2 at coolpad.com>
---
 fsck/main.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/fsck/main.c b/fsck/main.c
index 410e756..c2f57bc 100644
--- a/fsck/main.c
+++ b/fsck/main.c
@@ -458,12 +458,16 @@ static int erofs_verify_inode_data(struct erofs_inode *inode, int outfd)
 				.in = raw,
 				.out = buffer,
 				.decodedskip = 0,
+				.interlaced_offset = 0,
 				.inputsize = map.m_plen,
 				.decodedlength = map.m_llen,
 				.alg = map.m_algorithmformat,
 				.partial_decoding = 0
 			};
 
+			if (map.m_algorithmformat == Z_EROFS_COMPRESSION_INTERLACED)
+				rq.interlaced_offset = erofs_blkoff(map.m_la);
+
 			ret = z_erofs_decompress(&rq);
 			if (ret < 0) {
 				erofs_err("failed to decompress data of m_pa %" PRIu64 ", m_plen %" PRIu64 " @ nid %llu: %s",
-- 
2.17.1



More information about the Linux-erofs mailing list