From 0aebfaa349c7c68c2d59531eabae5a03a748e16a Mon Sep 17 00:00:00 2001 From: Krutika Dhananjay Date: Wed, 1 Apr 2015 14:39:01 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/10095 Reviewed-by: Pranith Kumar Karampuri Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/features/shard/src/shard.h | 1 + 1 file changed, 1 insertion(+) (limited to 'xlators/features/shard/src/shard.h') 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; -- cgit