diff options
| author | Krutika Dhananjay <kdhananj@redhat.com> | 2017-04-27 11:53:24 +0530 | 
|---|---|---|
| committer | Raghavendra G <rgowdapp@redhat.com> | 2017-04-28 04:27:14 +0000 | 
| commit | ab88f655e6423f51e2f2fac9265ff4d4f5c3e579 (patch) | |
| tree | 001a657ea3f616c43a516543a9e413322c7e0655 | |
| parent | e624e7fe38a784363c57108c73487d83a7bda562 (diff) | |
cluster/dht: Pass the correct xdata in fremovexattr fop
Change-Id: Id84bc87e48f435573eba3b24d3fb3c411fd2445d
BUG: 1440051
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: https://review.gluster.org/17126
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 12 | 
1 files changed, 4 insertions, 8 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 7e5d727104e..ae7851798ab 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -4569,6 +4569,7 @@ dht_fremovexattr (call_frame_t *frame, xlator_t *this,                  op_errno = EINVAL;                  goto err;          } +        local->xattr_req = xdata ? dict_ref (xdata) : dict_new ();          local->call_cnt = call_cnt = layout->cnt;          local->key = gf_strdup (key); @@ -4579,15 +4580,13 @@ dht_fremovexattr (call_frame_t *frame, xlator_t *this,                                             layout->list[i].xlator,                                             layout->list[i].xlator,                                             layout->list[i].xlator->fops->fremovexattr, -                                           fd, key, NULL); +                                           fd, key, local->xattr_req);                  }          } else {                  local->call_cnt = 1; -                xdata = xdata ? dict_ref (xdata) : dict_new (); -                if (xdata) -                        ret = dict_set_int8 (xdata, DHT_IATT_IN_XDATA_KEY, 1); +                ret = dict_set_int8 (local->xattr_req, DHT_IATT_IN_XDATA_KEY, 1);                  if (ret) {                          gf_msg (this->name, GF_LOG_ERROR, ENOMEM,                                  DHT_MSG_DICT_SET_FAILED, "Failed to " @@ -4597,10 +4596,7 @@ dht_fremovexattr (call_frame_t *frame, xlator_t *this,                  STACK_WIND_COOKIE (frame, dht_file_removexattr_cbk, subvol,                                     subvol, subvol->fops->fremovexattr, fd, key, -                                   xdata); - -                if (xdata) -                        dict_unref (xdata); +                                   local->xattr_req);          }          return 0;  | 
