summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-common.c
diff options
context:
space:
mode:
authorMateusz Slupny <mateusz.slupny@appeartv.com>2016-11-29 12:01:48 +0100
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-12-02 02:05:48 -0800
commitfb95eb4da6f4fc0b9c69e3b159a2214fe47e6d1d (patch)
treee6f82dd1195825c2096fa99934b232f928dfde03 /xlators/cluster/afr/src/afr-common.c
parentda71bdcf82a8dc71a1170ad3f190702fa49d2838 (diff)
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>
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-common.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 77b68d34c18..aa50e505afe 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -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: