[PATCH] uuid: Add helpers for finding UUID from an array

From: Heikki Krogerus
Date: Tue Aug 27 2019 - 07:49:22 EST


Matching function that compares every UUID in an array to a
given UUID with guid_equal().

Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>
---
Hi,

I don't have a user for these helpers, but since they are pretty
trivial, I figured that might as well propose them in any case.
Though, I think there was somebody proposing of doing the same thing
that these helpers do at one point, but just the hard way in the
drivers, right Andy?

thanks,
---
include/linux/uuid.h | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/include/linux/uuid.h b/include/linux/uuid.h
index 0c631e2a73b6..13e4d99f26dd 100644
--- a/include/linux/uuid.h
+++ b/include/linux/uuid.h
@@ -48,6 +48,16 @@ static inline bool guid_is_null(const guid_t *guid)
return guid_equal(guid, &guid_null);
}

+static inline bool guid_match(const guid_t *guids, const guid_t *guid)
+{
+ const guid_t *id;
+
+ for (id = guids; !guid_is_null(id); id++)
+ if (guid_equal(id, guid))
+ return true;
+ return false;
+}
+
static inline bool uuid_equal(const uuid_t *u1, const uuid_t *u2)
{
return memcmp(u1, u2, sizeof(uuid_t)) == 0;
@@ -63,6 +73,16 @@ static inline bool uuid_is_null(const uuid_t *uuid)
return uuid_equal(uuid, &uuid_null);
}

+static inline bool uuid_match(const uuid_t *uuids, const uuid_t *uuid)
+{
+ const uuid_t *id;
+
+ for (id = uuids; !uuid_is_null(id); id++)
+ if (uuid_equal(id, uuid))
+ return true;
+ return false;
+}
+
void generate_random_uuid(unsigned char uuid[16]);

extern void guid_gen(guid_t *u);
--
2.23.0.rc1