]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: use uuid_is_null() to verify if an uuid is empty
authorFilipe Manana <fdmanana@suse.com>
Tue, 17 Dec 2024 12:00:39 +0000 (12:00 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 13 Jan 2025 13:53:17 +0000 (14:53 +0100)
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>
fs/btrfs/fs.c
fs/btrfs/fs.h

index 06a863252a85edee708a6e3eb5d978bc3e478c0a..09cfb43580cbf6f7233cff06f918b5872d0f64c9 100644 (file)
@@ -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.
  */
index 1113646374f379df02cf0abddac26431ff9ddbcd..58e6b4b953f1c751c92bc2cbf7f3db264e3326fd 100644 (file)
@@ -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,