diff options
Diffstat (limited to 'xlators/cluster/afr')
| -rw-r--r-- | xlators/cluster/afr/src/afr-inode-read.c | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/xlators/cluster/afr/src/afr-inode-read.c b/xlators/cluster/afr/src/afr-inode-read.c index 6c837c3371e..41ffcb9138a 100644 --- a/xlators/cluster/afr/src/afr-inode-read.c +++ b/xlators/cluster/afr/src/afr-inode-read.c @@ -656,6 +656,8 @@ afr_getxattr_clrlk_cbk (call_frame_t *frame, void *cookie,          LOCK (&frame->lock);          {                  callcnt = --local->call_count; +                if (op_ret == -1) +                        local->child_errno[cky] = op_errno;                  if (!local->dict)                          local->dict = dict_new (); @@ -664,14 +666,12 @@ afr_getxattr_clrlk_cbk (call_frame_t *frame, void *cookie,                                              &tmp_report);                          if (ret)                                  goto unlock; -                        ret = dict_set_str (local->dict, -                                            children[cky]->name, -                                            tmp_report); +                        ret = dict_set_dynstr (local->dict, +                                               children[cky]->name, +                                               gf_strdup (tmp_report));                          if (ret)                                  goto unlock;                  } -                if (op_ret == -1) -                        local->child_errno[cky] = op_errno;          }  unlock:          UNLOCK (&frame->lock);  | 
