From b5f1612515be3729318a6d962e62edcf7542a43f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Wei=C3=9Fschuh?= Date: Tue, 29 Nov 2022 04:26:02 +0100 Subject: [PATCH] libblkid: swap: report fssize --- libblkid/src/superblocks/swap.c | 4 ++++ tests/expected/blkid/low-probe-swap1 | 1 + 2 files changed, 5 insertions(+) diff --git a/libblkid/src/superblocks/swap.c b/libblkid/src/superblocks/swap.c index 0d130ae55b..67224bc634 100644 --- a/libblkid/src/superblocks/swap.c +++ b/libblkid/src/superblocks/swap.c @@ -46,6 +46,10 @@ static void swap_set_info_swap1(blkid_probe pr, uint32_t pagesize = mag->sboff + mag->len; blkid_probe_set_fsblocksize(pr, pagesize); + + uint32_t lastpage = endianness == BLKID_ENDIANNESS_LITTLE ? + le32_to_cpu(hdr->lastpage) : be32_to_cpu(hdr->lastpage); + blkid_probe_set_fssize(pr, (uint64_t) pagesize * lastpage); } static int swap_set_info(blkid_probe pr, const struct blkid_idmag *mag, diff --git a/tests/expected/blkid/low-probe-swap1 b/tests/expected/blkid/low-probe-swap1 index c37eb2c466..89b2e0ed30 100644 --- a/tests/expected/blkid/low-probe-swap1 +++ b/tests/expected/blkid/low-probe-swap1 @@ -1,5 +1,6 @@ ID_FS_ENDIANNESS=LITTLE ID_FS_FSBLOCKSIZE=4096 +ID_FS_FSSIZE=258048 ID_FS_LABEL=SWAP-TEST ID_FS_LABEL_ENC=SWAP-TEST ID_FS_TYPE=swap -- 2.47.3