From 1d988f3638c4e809cc65efde1b3d3fbb80a34dde Mon Sep 17 00:00:00 2001 From: Anand Jain Date: Thu, 3 Aug 2023 07:29:37 +0800 Subject: [PATCH] btrfs-progs: dump-super: print actual metadata_uuid value The function btrfs_print_superblock() prints all members of the superblock as they are, except for the superblock::metadata_uuid. If the METADATA_UUID flag is unset, it prints the fsid instead of zero as in the superblock::metadata_uuid. Perhaps this was done because to match with the kernel btrfs_fs_devices::metadata_uuid value as it also sets fsid if METADATA_UUID flag is unset. However, the actual superblock::metadata_uuid is always zero if the METADATA_UUID flag is unset. Just to mention the kernel does not alter the superblock::metadata_uuid value any time. The dump-super printing fsid instead of zero, is confusing because we generally expect dump_super to print the superblock value in the raw format without modification. Fix this by printing the actual metadata_uuid value instead of fsid. Signed-off-by: Anand Jain Signed-off-by: David Sterba --- kernel-shared/print-tree.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/kernel-shared/print-tree.c b/kernel-shared/print-tree.c index 0f7f7b72..d7ffeccd 100644 --- a/kernel-shared/print-tree.c +++ b/kernel-shared/print-tree.c @@ -2005,12 +2005,8 @@ void btrfs_print_superblock(struct btrfs_super_block *sb, int full) uuid_unparse(sb->fsid, buf); printf("fsid\t\t\t%s\n", buf); - if (metadata_uuid_present) { - uuid_unparse(sb->metadata_uuid, buf); - printf("metadata_uuid\t\t%s\n", buf); - } else { - printf("metadata_uuid\t\t%s\n", buf); - } + uuid_unparse(sb->metadata_uuid, buf); + printf("metadata_uuid\t\t%s\n", buf); printf("label\t\t\t"); s = sb->label;