diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2015-04-01 14:39:01 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-04 10:46:07 -0700 |
commit | 0aebfaa349c7c68c2d59531eabae5a03a748e16a (patch) | |
tree | 4ec7ce4889c66701f184191e9f69779bd0417f3d /xlators/features/shard/src/shard.h | |
parent | 13dbf333c47f0bc0efffddd4b8b83c4031cb7f36 (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.h | 1 |
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; |