summaryrefslogtreecommitdiffstats
path: root/xlators/features/shard/src/shard.h
diff options
context:
space:
mode:
authorKrutika Dhananjay <kdhananj@redhat.com>2015-04-01 14:39:01 +0530
committerVijay Bellur <vbellur@redhat.com>2015-04-04 10:46:07 -0700
commit0aebfaa349c7c68c2d59531eabae5a03a748e16a (patch)
tree4ec7ce4889c66701f184191e9f69779bd0417f3d /xlators/features/shard/src/shard.h
parent13dbf333c47f0bc0efffddd4b8b83c4031cb7f36 (diff)
features/shard: Create and use xattr_req dict as and when needed
Reusing local->xattr_req for the several calls and callbacks per xlator fop would cause keys set from previous call/cbk (sometimes even by the xlators below) to remain which in some cases can lead to errors. For instance, the presence of "trusted.glusterfs.dht.*" keys (which are remnants of the previous call/cbk), can cause the GF_IF_INTERNAL_XATTR_GOTO() check in DHT to fail when the same dict is used to wind [f]setxattr. Change-Id: I8612d020f83f3dc55e4a34d10ccbdaf11d7b4fdd BUG: 1205661 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/10095 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/features/shard/src/shard.h')
-rw-r--r--xlators/features/shard/src/shard.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/features/shard/src/shard.h b/xlators/features/shard/src/shard.h
index aa1f8851e15..4c4637567da 100644
--- a/xlators/features/shard/src/shard.h
+++ b/xlators/features/shard/src/shard.h
@@ -98,6 +98,7 @@ typedef struct shard_local {
loc_t dot_shard_loc;
fd_t *fd;
dict_t *xattr_req;
+ dict_t *xattr_rsp;
inode_t **inode_list;
struct iovec *vector;
struct iobref *iobref;