summaryrefslogtreecommitdiffstats
path: root/glusterfsd
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2012-03-25 22:48:09 +0530
committerVijay Bellur <vijay@gluster.com>2012-03-29 07:54:34 -0700
commitdb501c73701b620be67b4c33ea16cac983dcd9b1 (patch)
tree5aa40283902d47a826fee41e0a9b312b0da95290 /glusterfsd
parent2dea3b34755d9af1d1c1ffe517c6a087cf44512a (diff)
core: fix all the iobuf related refs and unrefs
reviewed the code against all the possible places where iobuf/iobref ref unref are present, and hopefully fixed most of the issues around memory leaks with respect to iobuf Change-Id: I9aa30326962991f8e23acedd389a0e962e097885 Signed-off-by: Amar Tumballi <amarts@redhat.com> BUG: 797875 Reviewed-on: http://review.gluster.com/2994 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'glusterfsd')
-rw-r--r--glusterfsd/src/glusterfsd-mgmt.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/glusterfsd/src/glusterfsd-mgmt.c b/glusterfsd/src/glusterfsd-mgmt.c
index 0582364..e2622d3 100644
--- a/glusterfsd/src/glusterfsd-mgmt.c
+++ b/glusterfsd/src/glusterfsd-mgmt.c
@@ -101,7 +101,6 @@ glusterfs_serialize_reply (rpcsvc_request_t *req, void *arg,
outmsg->iov_len = retlen;
ret:
if (retlen == -1) {
- iobuf_unref (iob);
iob = NULL;
}
@@ -123,7 +122,6 @@ glusterfs_submit_reply (rpcsvc_request_t *req, void *arg,
goto out;
}
-
if (!iobref) {
iobref = iobref_new ();
if (!iobref) {
@@ -149,7 +147,6 @@ glusterfs_submit_reply (rpcsvc_request_t *req, void *arg,
* we can safely unref the iob in the hope that RPC layer must have
* ref'ed the iob on receiving into the txlist.
*/
- iobuf_unref (iob);
if (ret == -1) {
gf_log (THIS->name, GF_LOG_ERROR, "Reply submission failed");
goto out;
@@ -157,10 +154,11 @@ glusterfs_submit_reply (rpcsvc_request_t *req, void *arg,
ret = 0;
out:
+ if (iob)
+ iobuf_unref (iob);
- if (new_iobref) {
+ if (new_iobref && iobref)
iobref_unref (iobref);
- }
return ret;
}