From 22d821969a7204d09339b1a52a1d38e609e5aa86 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Fri, 7 Jun 2013 15:45:26 +0530 Subject: cluster/dht: Make sure loc has gfid Problem: In some code paths neither loc->gfid nor loc->inode->gfid is populated which leads to EINVAL for linkfile setattr in dht_linkfile_attr_heal. Fix: Populate loc->gfid before dht_linkfile_attr_heal. Change-Id: I062770e6f6eaead304eff1dae81f8588a3b97eed BUG: 971805 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.org/5178 Reviewed-by: Shishir Gowda Tested-by: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/cluster/dht/src/dht-linkfile.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'xlators/cluster/dht/src') diff --git a/xlators/cluster/dht/src/dht-linkfile.c b/xlators/cluster/dht/src/dht-linkfile.c index 39d72ae6..ae5bd49d 100644 --- a/xlators/cluster/dht/src/dht-linkfile.c +++ b/xlators/cluster/dht/src/dht-linkfile.c @@ -302,6 +302,8 @@ dht_linkfile_attr_heal (call_frame_t *frame, xlator_t *this) is_equal (frame->root->gid, local->stbuf.ia_gid))) return 0; + uuid_copy (local->loc.gfid, local->stbuf.ia_gfid); + copy = copy_frame (frame); if (!copy) -- cgit