From: Andrey Albershteyn Date: Mon, 2 May 2022 15:08:33 +0000 (+0200) Subject: libblkid: merge FS* flags into one FSINFO X-Git-Tag: v2.39-rc1~671 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c9b2297eb1f357d9bc9989aacc874f218081fcb8;p=thirdparty%2Futil-linux.git libblkid: merge FS* flags into one FSINFO Put BLOCK_SIZE, FSSIZE and FSLASTBLOCK tags under one FSINFO flag. These, and probably future ones, are read directly from the superblock (with minor post-processing). These properties are combined under one flag to escape adding a flag per superblock member. Signed-off-by: Andrey Albershteyn --- diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c index b7f94ec143..5253f9cc48 100644 --- a/libblkid/samples/superblocks.c +++ b/libblkid/samples/superblocks.c @@ -44,8 +44,7 @@ int main(int argc, char *argv[]) BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW | BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | - BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE | - BLKID_SUBLKS_FSLASTBLOCK); + BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSINFO); rc = blkid_do_safeprobe(pr); if (rc == -1) diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in index 56e64f9aba..ae4e555e31 100644 --- a/libblkid/src/blkid.h.in +++ b/libblkid/src/blkid.h.in @@ -271,18 +271,17 @@ extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage) extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable) __ul_attribute__((nonnull)); -#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ -#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ -#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ -#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ -#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ -#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ -#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ -#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ -#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ -#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ -#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */ -#define BLKID_SUBLKS_FSLASTBLOCK (1 << 12) /* read and define FSLASTBLOCK from superblock */ +#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ +#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ +#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ +#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ +#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ +#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ +#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ +#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ +#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ +#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ +#define BLKID_SUBLKS_FSINFO (1 << 11) /* read and define fs properties from superblock */ #define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE) diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c index 5b899a8309..a1f42c6115 100644 --- a/libblkid/src/superblocks/superblocks.c +++ b/libblkid/src/superblocks/superblocks.c @@ -562,6 +562,11 @@ int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...) int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size) { + struct blkid_chain *chn = blkid_probe_get_chain(pr); + + if (!(chn->flags & BLKID_SUBLKS_FSINFO)) + return 0; + return blkid_probe_sprintf_value(pr, "BLOCK_SIZE", "%u", block_size); } @@ -591,7 +596,7 @@ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size) { struct blkid_chain *chn = blkid_probe_get_chain(pr); - if (!(chn->flags & BLKID_SUBLKS_FSSIZE)) + if (!(chn->flags & BLKID_SUBLKS_FSINFO)) return 0; return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size); @@ -601,7 +606,7 @@ int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock) { struct blkid_chain *chn = blkid_probe_get_chain(pr); - if (!(chn->flags & BLKID_SUBLKS_FSLASTBLOCK)) + if (!(chn->flags & BLKID_SUBLKS_FSINFO)) return 0; return blkid_probe_sprintf_value(pr, "FSLASTBLOCK", "%" PRIu64, diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c index 5a3e436241..dae2361389 100644 --- a/misc-utils/blkid.c +++ b/misc-utils/blkid.c @@ -922,8 +922,7 @@ int main(int argc, char **argv) BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | - BLKID_SUBLKS_FSSIZE | BLKID_SUBLKS_FSLASTBLOCK); - + BLKID_SUBLKS_FSINFO); if (fltr_usage && blkid_probe_filter_superblocks_usage(pr, fltr_flag, fltr_usage))