summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/nsr-recon/src/recon_xlator.c
diff options
context:
space:
mode:
authorJeff Darcy <jdarcy@redhat.com>2014-03-25 18:37:16 +0000
committerJeff Darcy <jdarcy@redhat.com>2014-04-22 14:33:31 +0000
commit90366df60fa3b9b2915a4a8d804c2e95ae1948e7 (patch)
treecd75a682bcfb5b83d7d476551b748a6d0af1556b /xlators/cluster/nsr-recon/src/recon_xlator.c
parent66909ef9da737371395e63fd2557f118f6672446 (diff)
nsr: fix more reconciliation resource leaks
Also fixed GF_CALLOC calls to use proper memory types instead of always gf_mt_recon_private_t, so we that we can use state dumps to see what's leaking. This in turn required solving some very "interesting" problems to do with xlator/GFAPI mixing and THIS (which is used within GF_CALLOC). Change-Id: I3f928c9ac89600649bb3934664a3c4f6c43937e5 Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'xlators/cluster/nsr-recon/src/recon_xlator.c')
-rw-r--r--xlators/cluster/nsr-recon/src/recon_xlator.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/xlators/cluster/nsr-recon/src/recon_xlator.c b/xlators/cluster/nsr-recon/src/recon_xlator.c
index da389fccf..ffbf74296 100644
--- a/xlators/cluster/nsr-recon/src/recon_xlator.c
+++ b/xlators/cluster/nsr-recon/src/recon_xlator.c
@@ -300,7 +300,8 @@ gf_boolean_t nsr_recon_libchangelog_get_records(xlator_t *this, char *bp, int32_
"libchangelog_get_records called for term %d index from %d to %d \n",
term, first, last );
- orig = rb = GF_CALLOC(128, ((last - first) + 1), gf_mt_recon_private_t);
+ orig = rb = GF_CALLOC(128, ((last - first) + 1),
+ gf_mt_recon_changelog_buf_t);
sprintf(path,"%s/%s%d",bp,"TERM.",term);
fd = open(path, O_RDONLY);
@@ -558,7 +559,7 @@ nsr_recon_open (call_frame_t *frame, xlator_t *this,
nsr_recon_fd_t *rfd = NULL;
recon_main_log (this->name, GF_LOG_INFO, "nsr_recon_open called for path %s \n",loc->path );
- rfd = GF_CALLOC (1, sizeof (*rfd), gf_mt_recon_private_t);
+ rfd = GF_CALLOC (1, sizeof (*rfd), gf_mt_recon_fd_t);
if (!rfd) {
op_ret = -1;
op_errno = ENOMEM;
@@ -896,10 +897,10 @@ init (xlator_t *this)
priv->replica_group_members = GF_CALLOC (priv->replica_group_size,
sizeof(char *),
- gf_mt_recon_private_t);
+ gf_mt_recon_members_list_t);
priv->replica_group_members[0] = GF_CALLOC (1,
strlen(local),
- gf_mt_recon_private_t);
+ gf_mt_recon_member_name_t);
if (!priv->replica_group_members || !(priv->replica_group_members[0])) {
gf_log (this->name, GF_LOG_ERROR,
"str allocation error\n");
@@ -912,7 +913,8 @@ init (xlator_t *this)
member = strtok(members, ",");
else
member = strtok(NULL, ",");
- priv->replica_group_members[i] = GF_CALLOC (1, strlen(member) + 1, gf_mt_recon_private_t);
+ priv->replica_group_members[i] = GF_CALLOC (1,
+ strlen(member) + 1, gf_mt_recon_member_name_t);
if (!priv->replica_group_members[i]) {
gf_log (this->name, GF_LOG_ERROR,
"str allocation error\n");