From: Karel Zak Date: Wed, 9 Oct 2024 07:54:41 +0000 (+0200) Subject: libblkid: add FSLASTBLOCK for swaparea X-Git-Tag: v2.42-start~182 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0567efc790d4426df3001c6f8a19e276f114a450;p=thirdparty%2Futil-linux.git libblkid: add FSLASTBLOCK for swaparea Suggested-by: Peter Rajnoha Signed-off-by: Karel Zak --- diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c index e89cb598d..82047f186 100644 --- a/libblkid/src/superblocks/superblocks.c +++ b/libblkid/src/superblocks/superblocks.c @@ -597,6 +597,7 @@ static int blkid_probe_set_usage(blkid_probe pr, int usage) (const unsigned char *) u, strlen(u) + 1); } +/* size used by filesystem for data */ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size) { struct blkid_chain *chn = blkid_probe_get_chain(pr); diff --git a/libblkid/src/superblocks/swap.c b/libblkid/src/superblocks/swap.c index 487690517..2db1cdd80 100644 --- a/libblkid/src/superblocks/swap.c +++ b/libblkid/src/superblocks/swap.c @@ -47,9 +47,12 @@ static void swap_set_info_swap1(blkid_probe pr, uint32_t pagesize = mag->sboff + mag->len; blkid_probe_set_fsblocksize(pr, pagesize); + /* note that "lastpage" in swap header means number of pages used by + * swap, see mkswap */ 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); + blkid_probe_set_fslastblock(pr, lastpage + 1); } static int swap_set_info(blkid_probe pr, const struct blkid_idmag *mag, diff --git a/tests/expected/blkid/low-probe-swap-luks b/tests/expected/blkid/low-probe-swap-luks index 97cd5de75..3f3c1b100 100644 --- a/tests/expected/blkid/low-probe-swap-luks +++ b/tests/expected/blkid/low-probe-swap-luks @@ -1,5 +1,6 @@ ID_FS_ENDIANNESS=LITTLE ID_FS_FSBLOCKSIZE=4096 +ID_FS_FSLASTBLOCK=64 ID_FS_FSSIZE=258048 ID_FS_TYPE=swap ID_FS_USAGE=other diff --git a/tests/expected/blkid/low-probe-swap1 b/tests/expected/blkid/low-probe-swap1 index 89b2e0ed3..7606d3008 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_FSLASTBLOCK=64 ID_FS_FSSIZE=258048 ID_FS_LABEL=SWAP-TEST ID_FS_LABEL_ENC=SWAP-TEST diff --git a/tests/expected/blkid/low-probe-swap1-big b/tests/expected/blkid/low-probe-swap1-big index e9439217b..b8b75e6e9 100644 --- a/tests/expected/blkid/low-probe-swap1-big +++ b/tests/expected/blkid/low-probe-swap1-big @@ -1,5 +1,6 @@ ID_FS_ENDIANNESS=BIG ID_FS_FSBLOCKSIZE=8192 +ID_FS_FSLASTBLOCK=128 ID_FS_FSSIZE=1040384 ID_FS_LABEL=big ID_FS_LABEL_ENC=big