From b6eee04da4a699c7cd850bf2121825cc67f14707 Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Sun, 2 Oct 2011 08:46:46 +0530 Subject: core: made changes to return value of __is_root_gfid() now returns 'true(1)' is gfid is root, 'false(0)' if not. earlier it was the inverse, which was bit confusing Change-Id: Id103f444ace048cbb0fccdc72c6646da06631584 BUG: 3518 Reviewed-on: http://review.gluster.com/549 Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- libglusterfs/src/compat.c | 4 ++-- libglusterfs/src/inode.c | 11 ++++++----- libglusterfs/src/inode.h | 3 ++- xlators/cluster/dht/src/dht-common.c | 2 +- xlators/mgmt/glusterd/src/glusterd-utils.c | 2 +- xlators/storage/posix/src/posix.c | 2 +- 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/libglusterfs/src/compat.c b/libglusterfs/src/compat.c index e6c7f41e1..20e165a7a 100644 --- a/libglusterfs/src/compat.c +++ b/libglusterfs/src/compat.c @@ -121,7 +121,7 @@ make_export_path (const char *real_path, char **path) ret = solaris_getxattr ("/", GFID_XATTR_KEY, gfid, 16); /* Return value of getxattr */ if (ret == 16) { - if (!__is_root_gfid (gfid)){ + if (__is_root_gfid (gfid)){ strcat (export_path, "/"); ret = 0; goto done; @@ -135,7 +135,7 @@ make_export_path (const char *real_path, char **path) strcat (export_path, dup); ret = solaris_getxattr (export_path, GFID_XATTR_KEY, gfid, 16); if (ret == 16) { - if (!__is_root_gfid (gfid)) { + if (__is_root_gfid (gfid)) { ret = 0; goto done; } diff --git a/libglusterfs/src/inode.c b/libglusterfs/src/inode.c index 117b977b9..3239878b3 100644 --- a/libglusterfs/src/inode.c +++ b/libglusterfs/src/inode.c @@ -653,18 +653,19 @@ inode_grep (inode_table_t *table, inode_t *parent, const char *name) return inode; } -int +/* return 1 if gfid is of root, 0 if not */ +gf_boolean_t __is_root_gfid (uuid_t gfid) { uuid_t root; - int ret; memset (root, 0, 16); root[15] = 1; - ret = uuid_compare (gfid, root); + if (uuid_compare (gfid, root) == 0) + return _gf_true; - return ret; + return _gf_false; } @@ -680,7 +681,7 @@ __inode_find (inode_table_t *table, uuid_t gfid) goto out; } - if (__is_root_gfid (gfid) == 0) + if (__is_root_gfid (gfid)) return table->root; hash = hash_gfid (gfid, 65536); diff --git a/libglusterfs/src/inode.h b/libglusterfs/src/inode.h index b1d9b3742..a632ff5e9 100644 --- a/libglusterfs/src/inode.h +++ b/libglusterfs/src/inode.h @@ -182,6 +182,7 @@ int inode_ctx_del2 (inode_t *inode, xlator_t *xlator, uint64_t *value1, uint64_t *value2); -int +gf_boolean_t __is_root_gfid (uuid_t gfid); + #endif /* _INODE_H */ diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 6cf1d0c85..63e505c8c 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -1829,7 +1829,7 @@ dht_setxattr (call_frame_t *frame, xlator_t *this, tmp = dict_get (xattr, "decommission-brick"); if (tmp) { /* This operation should happen only on '/' */ - if (__is_root_gfid (loc->inode->gfid) != 0) { + if (!__is_root_gfid (loc->inode->gfid)) { op_errno = ENOTSUP; goto err; } diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index 9ecd78dfa..0b399da09 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -3644,7 +3644,7 @@ check_xattr: other than that of root '/' */ ret = sys_lgetxattr (path, "trusted.gfid", gfid, 16); if (ret == 16) { - if (__is_root_gfid (gfid) != 0) { + if (!__is_root_gfid (gfid)) { gf_log (THIS->name, GF_LOG_WARNING, "%s: gfid (%s) is not that of glusterfs '/' ", path, uuid_utoa (gfid)); diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 6a623c0a9..ab512af15 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -3924,7 +3924,7 @@ init (xlator_t *this) other than that of root '/' */ ret = sys_lgetxattr (dir_data->data, "trusted.gfid", gfid, 16); if (ret == 16) { - if (__is_root_gfid (gfid) != 0) { + if (!__is_root_gfid (gfid)) { gf_log (this->name, GF_LOG_WARNING, "%s: gfid (%s) is not that of glusterfs '/' ", dir_data->data, uuid_utoa (gfid)); -- cgit