diff options
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 26 | 
1 files changed, 18 insertions, 8 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index ab72d85149a..b75fad18347 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -4385,17 +4385,27 @@ glusterd_is_uuid_present (char *path, char *xattr, gf_boolean_t *present)                  goto out;          ret = sys_lgetxattr (path, xattr, &uid, 16); -        if (ret < 0 && errno != ENODATA) { -                goto out; -        } else if (ret >= 0) { +        if (ret >= 0) {                  *present = _gf_true; - -        } else { -                *present = _gf_false; +                ret = 0; +                goto out;          } -        ret = 0; +        switch (errno) { +#if defined(ENODATA) +                case ENODATA: /* FALLTHROUGH */ +#endif +#if defined(ENOATTR) && (ENOATTR != ENODATA) +                case ENOATTR: /* FALLTHROUGH */ +#endif +                case ENOTSUP: +                        *present = _gf_false; +                        ret = 0; +                        break; +                default: +                        break; +        }  out:          return ret;  } @@ -4430,7 +4440,7 @@ glusterd_is_path_in_use (char *path, gf_boolean_t *in_use, char **op_errstr)                  if (used)                          break; -                curdir = dirname (dir); +                curdir = dirname (curdir);                  if (!strcmp (curdir, "."))                          goto out;  | 
