diff options
author | Amar Tumballi <amar@gluster.com> | 2011-08-23 11:44:05 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2011-08-23 01:37:35 -0700 |
commit | dd996d529d155143e3ad49dc3b30461d9eb3ff43 (patch) | |
tree | a79b0b5afaae93566ef0729496d1194fe2ce4796 /xlators/cluster/dht | |
parent | 601f5725a0a2e4855d9a4a952709e5c0cadbd846 (diff) |
cluster/distribute: unwind the proper dict in getxattr_cbk
without which, quota would get confused about the total size
Change-Id: I0fb822ee67e3c1585f783ae35292fe71c47ee249
BUG: 3421
Reviewed-on: http://review.gluster.com/304
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/cluster/dht')
-rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index db3b881b692..f623fad9fd5 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -1839,9 +1839,12 @@ dht_getxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this, local->xattr = dict_copy_with_ref (xattr, NULL); } else { /* first aggregate everything into xattr and then copy into - * local->xattr. + * local->xattr. This is required as we want to have + * 'local->xattr' as the proper final dictionary passed above + * distribute xlator. */ dht_aggregate_xattr (xattr, local->xattr); + local->xattr = dict_copy (xattr, local->xattr); } out: if (is_last_call (this_call_cnt)) { |