diff options
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/common-utils.c | 14 | ||||
-rw-r--r-- | libglusterfs/src/common-utils.h | 6 |
2 files changed, 20 insertions, 0 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index b9062c159c7..b2d5a279dc8 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -4538,3 +4538,17 @@ is_virtual_xattr (const char *k) return ret; } + +ino_t +gfid_to_ino (uuid_t gfid) +{ + ino_t ino = 0; + int32_t i; + + for (i = 8; i < 16; i++) { + ino <<= 8; + ino += (uint8_t)gfid[i]; + } + + return ino; +} diff --git a/libglusterfs/src/common-utils.h b/libglusterfs/src/common-utils.h index e2b3f3ea032..d7277e6e834 100644 --- a/libglusterfs/src/common-utils.h +++ b/libglusterfs/src/common-utils.h @@ -652,6 +652,12 @@ gf_time_fmt (char *dst, size_t sz_dst, time_t utime, unsigned int fmt) return dst; } +/* This function helps us use gfid (unique identity) to generate inode's unique + * number in glusterfs. + */ +ino_t +gfid_to_ino (uuid_t gfid); + int mkdir_p (char *path, mode_t mode, gf_boolean_t allow_symlinks); /* |