selfheal: fix memory leak on client side healing queue
Change-Id: I2beaba829710565a3246f7449a5cd21755cf5f7d BUG: 1399592 Signed-off-by: Mateusz Slupny <mateusz.slupny@appeartv.com> Reviewed-on: http://review.gluster.org/15968 Tested-by: Pranith Kumar Karampuri <pkarampu@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org>
This commit is contained in:
parent
da71bdcf82
commit
fb95eb4da6
@ -1180,7 +1180,10 @@ afr_inode_refresh_done (call_frame_t *frame, xlator_t *this)
|
||||
}
|
||||
heal_local->refreshinode = inode_ref (local->refreshinode);
|
||||
heal_local->heal_frame = heal_frame;
|
||||
afr_throttled_selfheal (heal_frame, this);
|
||||
if (!afr_throttled_selfheal (heal_frame, this)) {
|
||||
AFR_STACK_DESTROY (heal_frame);
|
||||
goto refresh_done;
|
||||
}
|
||||
}
|
||||
|
||||
refresh_done:
|
||||
|
@ -2097,7 +2097,7 @@ afr_heal_synctask (xlator_t *this, afr_local_t *local)
|
||||
afr_refresh_heal_done (ret, heal_frame, heal_frame);
|
||||
}
|
||||
|
||||
void
|
||||
gf_boolean_t
|
||||
afr_throttled_selfheal (call_frame_t *frame, xlator_t *this)
|
||||
{
|
||||
gf_boolean_t can_heal = _gf_true;
|
||||
@ -2125,6 +2125,8 @@ afr_throttled_selfheal (call_frame_t *frame, xlator_t *this)
|
||||
gf_msg_debug (this->name, 0, "Max number of heals are "
|
||||
"pending, background self-heal rejected.");
|
||||
}
|
||||
|
||||
return can_heal;
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -85,7 +85,7 @@
|
||||
int
|
||||
afr_selfheal (xlator_t *this, uuid_t gfid);
|
||||
|
||||
void
|
||||
gf_boolean_t
|
||||
afr_throttled_selfheal (call_frame_t *frame, xlator_t *this);
|
||||
|
||||
int
|
||||
|
Loading…
x
Reference in New Issue
Block a user