diff options
| -rw-r--r-- | xlators/storage/posix/src/posix.c | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 1219620f197..2bcdd0d0a30 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -3110,6 +3110,7 @@ posix_getxattr (call_frame_t *frame, xlator_t *this,          size_t   size           = 0;          size_t   remaining_size = 0;          char     key[1024]      = {0,}; +        char     gen_key[1024]  = {0,};          char *   value          = NULL;          char *   list           = NULL;          char *   real_path      = NULL; @@ -3189,6 +3190,8 @@ posix_getxattr (call_frame_t *frame, xlator_t *this,                  goto out;          } +        ret = snprintf (gen_key, 1023, "trusted.%s.gen", this->name); +          size = sys_llistxattr (real_path, list, size);          remaining_size = size; @@ -3214,7 +3217,9 @@ posix_getxattr (call_frame_t *frame, xlator_t *this,                          break;                  value [op_ret] = '\0'; -                dict_set (dict, key, data_from_dynptr (value, op_ret)); +                if (strcmp (key, gen_key) != 0) +                        dict_set (dict, key, data_from_dynptr (value, op_ret)); +                  remaining_size -= strlen (key) + 1;                  list_offset += strlen (key) + 1; | 
