From dc7677b5d904f5933a1059c46bac92e338a98017 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Wei=C3=9Fschuh?= Date: Wed, 26 Oct 2022 16:32:08 +0200 Subject: [PATCH] libblkid: squashfs3: report endianness --- libblkid/src/superblocks/squashfs.c | 4 ++++ tests/expected/blkid/low-probe-squashfs3 | 1 + 2 files changed, 5 insertions(+) diff --git a/libblkid/src/superblocks/squashfs.c b/libblkid/src/superblocks/squashfs.c index d85ff8f1ab..bd63fbd63c 100644 --- a/libblkid/src/superblocks/squashfs.c +++ b/libblkid/src/superblocks/squashfs.c @@ -53,6 +53,7 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) struct sqsh_super_block *sq; uint16_t vermaj; uint16_t vermin; + enum BLKID_ENDIANNESS endianness; sq = blkid_probe_get_sb(pr, mag, struct sqsh_super_block); if (!sq) @@ -61,9 +62,11 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) if (strcmp(mag->magic, "sqsh") == 0) { vermaj = be16_to_cpu(sq->s_major); vermin = be16_to_cpu(sq->s_minor); + endianness = BLKID_ENDIANNESS_BIG; } else { vermaj = le16_to_cpu(sq->s_major); vermin = le16_to_cpu(sq->s_minor); + endianness = BLKID_ENDIANNESS_LITTLE; } if (vermaj > 3) @@ -73,6 +76,7 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) blkid_probe_set_fsblocksize(pr, 1024); blkid_probe_set_block_size(pr, 1024); + blkid_probe_set_fsendianness(pr, endianness); return 0; } diff --git a/tests/expected/blkid/low-probe-squashfs3 b/tests/expected/blkid/low-probe-squashfs3 index 7ff6f3c061..d4be7c7fef 100644 --- a/tests/expected/blkid/low-probe-squashfs3 +++ b/tests/expected/blkid/low-probe-squashfs3 @@ -1,4 +1,5 @@ ID_FS_BLOCK_SIZE=1024 +ID_FS_ENDIANNESS=LITTLE ID_FS_FSBLOCKSIZE=1024 ID_FS_TYPE=squashfs3 ID_FS_USAGE=filesystem -- 2.47.3