diff options
Diffstat (limited to 'xlators/storage/posix/src/posix-helpers.c')
| -rw-r--r-- | xlators/storage/posix/src/posix-helpers.c | 13 | 
1 files changed, 11 insertions, 2 deletions
diff --git a/xlators/storage/posix/src/posix-helpers.c b/xlators/storage/posix/src/posix-helpers.c index 6a9333a0112..46bb6ea59c2 100644 --- a/xlators/storage/posix/src/posix-helpers.c +++ b/xlators/storage/posix/src/posix-helpers.c @@ -214,16 +214,25 @@ _posix_xattr_get_set (dict_t *xattr_req,                          if (!value)                                  return; -                        sys_lgetxattr (filler->real_path, key, value, +                        ret = sys_lgetxattr (filler->real_path, key, value,                                         xattr_size); +                        if (ret <= 0) { +                                gf_log (filler->this->name, GF_LOG_WARNING, +                                        "getxattr failed. path: %s, key: %s", +                                        filler->real_path, key); +                                GF_FREE (value); +                                return; +                        }                          value[xattr_size] = '\0';                          ret = dict_set_bin (filler->xattr, key,                                              value, xattr_size); -                        if (ret < 0) +                        if (ret < 0) {                                  gf_log (filler->this->name, GF_LOG_DEBUG,                                          "dict set failed. path: %s, key: %s",                                          filler->real_path, key); +                                GF_FREE (value); +                        }                  }          }  out:  | 
