summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/dht/src
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
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')
-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 47e6e8abec2..d6753ff5930 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 {