diff options
| author | Jeff Darcy <jdarcy@fb.com> | 2017-07-03 08:18:20 -0700 |
|---|---|---|
| committer | Jeff Darcy <jdarcy@fb.com> | 2017-07-03 08:18:20 -0700 |
| commit | 53a7ea23a45b7c013a4809c418d5428c317d97f6 (patch) | |
| tree | 353da3de0f4a72f5ddfaaa07778e85cb4a232ef0 | |
| parent | 1d5d6ec423a21d698196cca39c7ba0e2563d9ba8 (diff) | |
Revert "cluster/afr: Adjust gfid unsplit flow for proper correctness w/ AFR2"
This reverts commit 1d5d6ec423a21d698196cca39c7ba0e2563d9ba8.
| -rw-r--r-- | xlators/cluster/afr/src/afr-self-heal-name.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/xlators/cluster/afr/src/afr-self-heal-name.c b/xlators/cluster/afr/src/afr-self-heal-name.c index 76c301371c0..b28ce4170f1 100644 --- a/xlators/cluster/afr/src/afr-self-heal-name.c +++ b/xlators/cluster/afr/src/afr-self-heal-name.c @@ -408,7 +408,6 @@ __afr_selfheal_name_do (call_frame_t *frame, xlator_t *this, inode_t *parent, gf_boolean_t source_is_empty = _gf_true; gf_boolean_t need_heal = _gf_false; gf_boolean_t is_gfid_absent = _gf_false; - gf_boolean_t tried_gfid_unsplit = _gf_false; need_heal = afr_selfheal_name_need_heal_check (this, replies); if (!need_heal) @@ -430,33 +429,20 @@ __afr_selfheal_name_do (call_frame_t *frame, xlator_t *this, inode_t *parent, if (ret) return ret; -gfid_mismatch_check: ret = afr_selfheal_name_gfid_mismatch_check (this, replies, source, sources, &gfid_idx, pargfid, bname); - - if (ret && tried_gfid_unsplit == _gf_true) + if (ret) return ret; - if (gfid_idx == -1) { - if (!gfid_req || uuid_is_null (gfid_req)) + if (gfid_idx == -1) { + if (!gfid_req || gf_uuid_is_null (gfid_req)) return -1; gfid = gfid_req; } else { gfid = &replies[gfid_idx].poststat.ia_gfid; } - if (ret && tried_gfid_unsplit == _gf_false) { - ret = __afr_selfheal_gfid_unsplit (this, parent, pargfid, - bname, inode, replies, gfid, locked_on); - - if (ret) - return ret; - - tried_gfid_unsplit = _gf_true; - goto gfid_mismatch_check; - } - is_gfid_absent = (gfid_idx == -1) ? _gf_true : _gf_false; ret = __afr_selfheal_assign_gfid (this, parent, pargfid, bname, inode, replies, gfid, locked_on, |
