summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src/dht-common.c
diff options
context:
space:
mode:
authorshishir gowda <shishirng@gluster.com>2011-06-08 09:03:16 +0000
committerAnand Avati <avati@gluster.com>2011-06-08 11:18:27 -0700
commitdbb66771878d8cb7e27ebc995c852603d6b35bda (patch)
treea1cb2cc35a77b7fc0580b6077be79e3c5e47562d /xlators/cluster/dht/src/dht-common.c
parentcaf13ea0ff4c67cfb30f990a9e3c9ffe9d45d035 (diff)
DHT selheal dir: Recreate dirs with correct gfid.
When selfheal of dir is triggered, make sure the dirs are recreated with the correct gfid, to prevent mismatch of gfids in the backend. Also, remove the spurious memcpy to inode.gfid Signed-off-by: shishir gowda <shishirng@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2994 ([glusterfs-3.2.1qa2]: untar and rm in parallel hangs untar) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2994
Diffstat (limited to 'xlators/cluster/dht/src/dht-common.c')
-rw-r--r--xlators/cluster/dht/src/dht-common.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c
index 47e6e8abe..d6753ff59 100644
--- a/xlators/cluster/dht/src/dht-common.c
+++ b/xlators/cluster/dht/src/dht-common.c
@@ -4059,9 +4059,6 @@ dht_mkdir_hashed_cbk (call_frame_t *frame, void *cookie,
conf = this->private;
hashed_subvol = local->hashed_subvol;
- if (uuid_is_null (local->loc.inode->gfid) && !op_ret)
- memcpy (local->loc.inode->gfid, stbuf->ia_gfid, 16);
-
if (dht_is_subvol_filled (this, hashed_subvol))
ret = dht_layout_merge (this, layout, prev->this,
-1, ENOSPC, NULL);
@@ -4241,6 +4238,7 @@ unlock:
/* TODO: neater interface needed below */
local->stbuf.ia_type = local->loc.inode->ia_type;
+ uuid_copy (local->gfid, local->loc.inode->gfid);
dht_selfheal_restore (frame, dht_rmdir_selfheal_cbk,
&local->loc, local->layout);
} else {