Skip to content

Commit

Permalink
uuid: hoist helpers uuid_equal() and uuid_copy() from xfs
Browse files Browse the repository at this point in the history
These helper are used to compare and copy two uuid_t type objects.

Signed-off-by: Amir Goldstein <amir73il@gmail.com>
[hch: also provide the respective guid_ versions]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  • Loading branch information
Christoph Hellwig committed Jun 5, 2017
1 parent b10bf0e commit df33767
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 15 deletions.
6 changes: 0 additions & 6 deletions fs/xfs/uuid.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,3 @@ uuid_is_nil(uuid_t *uuid)
if (*cp++) return 0; /* not nil */
return 1; /* is nil */
}

int
uuid_equal(uuid_t *uuid1, uuid_t *uuid2)
{
return memcmp(uuid1, uuid2, sizeof(uuid_t)) ? 0 : 1;
}
7 changes: 0 additions & 7 deletions fs/xfs/uuid.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,6 @@
#define __XFS_SUPPORT_UUID_H__

extern int uuid_is_nil(uuid_t *uuid);
extern int uuid_equal(uuid_t *uuid1, uuid_t *uuid2);
extern void uuid_getnodeuniq(uuid_t *uuid, int fsid [2]);

static inline void
uuid_copy(uuid_t *dst, uuid_t *src)
{
memcpy(dst, src, sizeof(uuid_t));
}

#endif /* __XFS_SUPPORT_UUID_H__ */
20 changes: 20 additions & 0 deletions include/linux/uuid.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,26 @@ typedef struct {
*/
#define UUID_STRING_LEN 36

static inline bool guid_equal(const guid_t *u1, const guid_t *u2)
{
return memcmp(u1, u2, sizeof(guid_t)) == 0;
}

static inline void guid_copy(guid_t *dst, const guid_t *src)
{
memcpy(dst, src, sizeof(guid_t));
}

static inline bool uuid_equal(const uuid_t *u1, const uuid_t *u2)
{
return memcmp(u1, u2, sizeof(uuid_t)) == 0;
}

static inline void uuid_copy(uuid_t *dst, const uuid_t *src)
{
memcpy(dst, src, sizeof(uuid_t));
}

void generate_random_uuid(unsigned char uuid[16]);

extern void guid_gen(guid_t *u);
Expand Down
4 changes: 2 additions & 2 deletions lib/test_uuid.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ static void __init test_uuid_test(const struct test_uuid_data *data)
test_uuid_failed("conversion", false, false, data->uuid, NULL);

total_tests++;
if (uuid_le_cmp(data->le, le)) {
if (!guid_equal(&data->le, &le)) {
sprintf(buf, "%pUl", &le);
test_uuid_failed("cmp", false, false, data->uuid, buf);
}
Expand All @@ -82,7 +82,7 @@ static void __init test_uuid_test(const struct test_uuid_data *data)
test_uuid_failed("conversion", false, true, data->uuid, NULL);

total_tests++;
if (uuid_be_cmp(data->be, be)) {
if (uuid_equal(&data->be, &be)) {
sprintf(buf, "%pUb", &be);
test_uuid_failed("cmp", false, true, data->uuid, buf);
}
Expand Down

0 comments on commit df33767

Please sign in to comment.