forked from mirrors/linux
		
	uuid: hoist helpers uuid_equal() and uuid_copy() from xfs
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>
This commit is contained in:
		
							parent
							
								
									b10bf0e281
								
							
						
					
					
						commit
						df33767d9f
					
				
					 4 changed files with 22 additions and 15 deletions
				
			
		|  | @ -55,9 +55,3 @@ uuid_is_nil(uuid_t *uuid) | ||||||
| 		if (*cp++) return 0;	/* not nil */ | 		if (*cp++) return 0;	/* not nil */ | ||||||
| 	return 1;	/* is nil */ | 	return 1;	/* is nil */ | ||||||
| } | } | ||||||
| 
 |  | ||||||
| int |  | ||||||
| uuid_equal(uuid_t *uuid1, uuid_t *uuid2) |  | ||||||
| { |  | ||||||
| 	return memcmp(uuid1, uuid2, sizeof(uuid_t)) ? 0 : 1; |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  | @ -19,13 +19,6 @@ | ||||||
| #define __XFS_SUPPORT_UUID_H__ | #define __XFS_SUPPORT_UUID_H__ | ||||||
| 
 | 
 | ||||||
| extern int uuid_is_nil(uuid_t *uuid); | 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]); | 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__ */ | #endif	/* __XFS_SUPPORT_UUID_H__ */ | ||||||
|  |  | ||||||
|  | @ -35,6 +35,26 @@ typedef struct { | ||||||
|  */ |  */ | ||||||
| #define	UUID_STRING_LEN		36 | #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]); | void generate_random_uuid(unsigned char uuid[16]); | ||||||
| 
 | 
 | ||||||
| extern void guid_gen(guid_t *u); | extern void guid_gen(guid_t *u); | ||||||
|  |  | ||||||
|  | @ -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); | 		test_uuid_failed("conversion", false, false, data->uuid, NULL); | ||||||
| 
 | 
 | ||||||
| 	total_tests++; | 	total_tests++; | ||||||
| 	if (uuid_le_cmp(data->le, le)) { | 	if (!guid_equal(&data->le, &le)) { | ||||||
| 		sprintf(buf, "%pUl", &le); | 		sprintf(buf, "%pUl", &le); | ||||||
| 		test_uuid_failed("cmp", false, false, data->uuid, buf); | 		test_uuid_failed("cmp", false, false, data->uuid, buf); | ||||||
| 	} | 	} | ||||||
|  | @ -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); | 		test_uuid_failed("conversion", false, true, data->uuid, NULL); | ||||||
| 
 | 
 | ||||||
| 	total_tests++; | 	total_tests++; | ||||||
| 	if (uuid_be_cmp(data->be, be)) { | 	if (uuid_equal(&data->be, &be)) { | ||||||
| 		sprintf(buf, "%pUb", &be); | 		sprintf(buf, "%pUb", &be); | ||||||
| 		test_uuid_failed("cmp", false, true, data->uuid, buf); | 		test_uuid_failed("cmp", false, true, data->uuid, buf); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig