summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilipe Manana <fdmanana@suse.com>2024-12-17 12:00:39 +0000
committerDavid Sterba <dsterba@suse.com>2025-01-13 14:53:17 +0100
commit6a2b3d7a36df2c7a7ad3a8ef00bc4ea194221c02 (patch)
treefa382b057a95487bdf01559dbbc1efac73e0accf
parentde9c8265b763f98b4b8f7f13acf4888285ac5a47 (diff)
btrfs: use uuid_is_null() to verify if an uuid is empty
At btrfs_is_empty_uuid() we have our custom code to check if an uuid is empty, however there a kernel uuid library that has a function named uuid_is_null() which does the same and probably more efficient. So change btrfs_is_empty_uuid() to use uuid_is_null(), which is almost a directly replacement, it just wraps the necessary casting since our uuid types are u8 arrays while the uuid kernel library uses the uuid_t type, which is just a typedef of an u8 array of 16 elements as well. Also since the function is now to trivial, make it a static inline function in fs.h. Suggested-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--fs/btrfs/fs.c9
-rw-r--r--fs/btrfs/fs.h5
2 files changed, 4 insertions, 10 deletions
diff --git a/fs/btrfs/fs.c b/fs/btrfs/fs.c
index 06a863252a85..09cfb43580cb 100644
--- a/fs/btrfs/fs.c
+++ b/fs/btrfs/fs.c
@@ -55,15 +55,6 @@ size_t __attribute_const__ btrfs_get_num_csums(void)
return ARRAY_SIZE(btrfs_csums);
}
-bool __pure btrfs_is_empty_uuid(const u8 *uuid)
-{
- for (int i = 0; i < BTRFS_UUID_SIZE; i++) {
- if (uuid[i] != 0)
- return false;
- }
- return true;
-}
-
/*
* Start exclusive operation @type, return true on success.
*/
diff --git a/fs/btrfs/fs.h b/fs/btrfs/fs.h
index 1113646374f3..58e6b4b953f1 100644
--- a/fs/btrfs/fs.h
+++ b/fs/btrfs/fs.h
@@ -996,7 +996,10 @@ const char *btrfs_super_csum_name(u16 csum_type);
const char *btrfs_super_csum_driver(u16 csum_type);
size_t __attribute_const__ btrfs_get_num_csums(void);
-bool __pure btrfs_is_empty_uuid(const u8 *uuid);
+static inline bool btrfs_is_empty_uuid(const u8 *uuid)
+{
+ return uuid_is_null((const uuid_t *)uuid);
+}
/* Compatibility and incompatibility defines */
void __btrfs_set_fs_incompat(struct btrfs_fs_info *fs_info, u64 flag,