]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: add macros to facilitate printing of keys
authorFilipe Manana <fdmanana@suse.com>
Wed, 15 Oct 2025 11:40:06 +0000 (12:40 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 24 Nov 2025 21:03:02 +0000 (22:03 +0100)
There's a lot of places where we need to print a key, and it's tiresome
to type the format specifier, typically "(%llu %u %llu)", as well as
passing 3 arguments to a prink family function (key->objectid, key->type,
key->offset).

So add a couple macros for this just like we have for csum values in
btrfs_inode.h (CSUM_FMT and CSUM_FMT_VALUE).

This also ensures that we consistently print a key in the same format,
always as "(%llu %llu %llu)", which is the most common format we use, but
we have a few variations such as "[%llu %llu %llu]" for no good reason.

This patch introduces the macros while the next one makes use of it.
This is to ease backports of future patches, since then we can backport
this patch which is simple and short and then backport those future
patches, as the next patch in the series that makes use of these new
macros is quite large and may have some dependencies.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/fs.h

index c83fd192a7dc3e91cf8263e56472ab768feeaa0b..522152904b8f525986419e77d0ffef04038e47a5 100644 (file)
@@ -74,6 +74,9 @@ struct btrfs_space_info;
 #define BTRFS_SUPER_INFO_SIZE                  4096
 static_assert(sizeof(struct btrfs_super_block) == BTRFS_SUPER_INFO_SIZE);
 
+#define BTRFS_KEY_FMT                  "(%llu %u %llu)"
+#define BTRFS_KEY_FMT_VALUE(key)       (key)->objectid, (key)->type, (key)->offset
+
 /*
  * Number of metadata items necessary for an unlink operation:
  *