summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr.h
diff options
context:
space:
mode:
authorKrutika Dhananjay <kdhananj@redhat.com>2016-12-03 09:09:15 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2016-12-04 17:28:40 -0800
commitc89cb610f51e7a5df5c4b7e9378a7ac8ac513e46 (patch)
tree1ddaeb27a9ba9d24ca9efa290bc76e393e798a0e /xlators/cluster/afr/src/afr.h
parent55ddf8c6b665d0b2ed024b984e871a68b25cffbf (diff)
afr, client: More mem-leak fixes in COMPOUND fop cbk
Bugs found and fixed: 1. Use correct subvolume index in pre-op-writev compound cbk 2. Prevent use-after-free of local->compound_args members in compound fops cbk in protocol/client 3. Fix xdata and xattr leaks in client_process_response 4. Fix possible leak of xdata in client_pre_writev() in test mode. 5. Free req->compound_req_array.compound_req_array_val as well after freeing its members 6. Free tmp_rsp->flock.lk_owner.lk_owner_val in LK fop. Change-Id: I15b646d7d4e0e5cd4ea3d2d6452c815cf2eaf68f BUG: 1401218 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/16020 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/afr/src/afr.h')
-rw-r--r--xlators/cluster/afr/src/afr.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/xlators/cluster/afr/src/afr.h b/xlators/cluster/afr/src/afr.h
index dcc162f97c3..eaad64a4f40 100644
--- a/xlators/cluster/afr/src/afr.h
+++ b/xlators/cluster/afr/src/afr.h
@@ -805,6 +805,7 @@ typedef struct _afr_local {
gf_boolean_t need_full_crawl;
gf_boolean_t compound;
afr_fop_lock_state_t fop_lock_state;
+ compound_args_t *c_args;
} afr_local_t;
@@ -1233,10 +1234,6 @@ afr_is_inodelk_transaction(afr_local_t *local);
afr_fd_ctx_t *
__afr_fd_ctx_get (fd_t *fd, xlator_t *this);
-void
-afr_compound_cleanup (compound_args_t *args, dict_t *xdata,
- dict_t *newloc_xdata);
-
gf_boolean_t
afr_is_inode_refresh_reqd (inode_t *inode, xlator_t *this,
int event_gen1, int event_gen2);