0008d80866
The fragmented files were not correctly read because of two issues: - The squashfs_file_info struct has a field named 'comp', which tells if the file's fragment is compressed or not. This field was always set to 'true' in sqfs_get_regfile_info and sqfs_get_lregfile_info. It should actually take sqfs_frag_lookup's return value. This patch addresses these two assignments. - In sqfs_read, the fragments (compressed or not) were copied to the output buffer through a for loop which was reading data at the wrong offset. Replace these loops by equivalent calls to memcpy, with the right parameters. I tested this patch by comparing the MD5 checksum of a few fragmented files with the respective md5sum output in sandbox, considering both compressed and uncompressed fragments. Signed-off-by: Joao Marcos Costa <jmcosta944@gmail.com> Tested-by: Richard Genoud <richard.genoud@posteo.net> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> |
||
---|---|---|
.. | ||
btrfs | ||
cbfs | ||
cramfs | ||
ext4 | ||
fat | ||
jffs2 | ||
reiserfs | ||
sandbox | ||
squashfs | ||
ubifs | ||
yaffs2 | ||
zfs | ||
fs_internal.c | ||
fs.c | ||
Kconfig | ||
Makefile |