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 <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
This commit is contained in:
Amar Tumballi 2011-10-02 08:46:46 +05:30 committed by Vijay Bellur
parent 0db88567b9
commit b6eee04da4
6 changed files with 13 additions and 11 deletions

View File

@ -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;
}

View File

@ -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);

View File

@ -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 */

View File

@ -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;
}

View File

@ -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));

View File

@ -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));