diff options
| author | shishir gowda <shishirng@gluster.com> | 2011-06-09 03:07:23 +0000 | 
|---|---|---|
| committer | Anand Avati <avati@gluster.com> | 2011-06-09 07:41:50 -0700 | 
| commit | b25a987e3796b3c33fb4bdb8251ea498a8453cce (patch) | |
| tree | 1cdf11f93528511adc6d8333eb5aa2d75e40e2ce | |
| parent | 441ec91f6c87f987abe9417bfdb60bda1094718b (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.
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
| -rw-r--r-- | xlators/cluster/dht/src/dht-common.c | 4 | 
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 5583bd5592d..e101b2b0900 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -3806,9 +3806,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); @@ -3991,6 +3988,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 {  | 
