[lvm-devel] master - clvmd: use dm_malloc

Zdenek Kabelac zkabelac at fedoraproject.org
Fri Mar 21 21:31:40 UTC 2014


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=28479946249611f7f103c1caa33033a92ea0ce49
Commit:        28479946249611f7f103c1caa33033a92ea0ce49
Parent:        c45cd6eb8d0272b6700d0b0c6f2baa82fe67f37d
Author:        Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate:    Thu Mar 20 09:24:45 2014 +0100
Committer:     Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Mar 21 22:29:24 2014 +0100

clvmd: use dm_malloc

Use libdm malloc wrapper functions.
---
 daemons/clvmd/clvmd-openais.c |    4 +--
 daemons/clvmd/clvmd.c         |   72 +++++++++++++++++-----------------------
 2 files changed, 32 insertions(+), 44 deletions(-)

diff --git a/daemons/clvmd/clvmd-openais.c b/daemons/clvmd/clvmd-openais.c
index 9ce73d6..77c0482 100644
--- a/daemons/clvmd/clvmd-openais.c
+++ b/daemons/clvmd/clvmd-openais.c
@@ -197,9 +197,7 @@ static int add_internal_client(int fd, fd_callback_t callback)
 
 	DEBUGLOG("Add_internal_client, fd = %d\n", fd);
 
-	client = calloc(1, sizeof(struct local_client));
-	if (!client)
-	{
+	if (!(client = dm_zalloc(sizeof(*client)))) {
 		DEBUGLOG("malloc failed\n");
 		return -1;
 	}
diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
index 3890347..ba3fc84 100644
--- a/daemons/clvmd/clvmd.c
+++ b/daemons/clvmd/clvmd.c
@@ -677,7 +677,7 @@ static int local_rendezvous_callback(struct local_client *thisfd, char *buf,
 		return 1;
 
 	if (client_fd >= 0) {
-		if (!(newfd = dm_zalloc(sizeof(struct local_client)))) {
+		if (!(newfd = dm_zalloc(sizeof(*newfd)))) {
 			if (close(client_fd))
                                 log_sys_error("close", "socket");
 			return 1;
@@ -1212,7 +1212,7 @@ static int cleanup_zombie(struct local_client *thisfd)
 					lastfd->next = newfd->next;
 					free_fd = newfd;
 					newfd->next = lastfd;
-					free(free_fd);
+					dm_free(free_fd);
 					break;
 				}
 				lastfd = newfd;
@@ -1221,7 +1221,7 @@ static int cleanup_zombie(struct local_client *thisfd)
 	}
 
 	/* Free the command buffer */
-	free(thisfd->bits.localsock.cmd);
+	dm_free(thisfd->bits.localsock.cmd);
 
 	/* Clear out the cross-link */
 	if (thisfd->bits.localsock.pipe_client != NULL)
@@ -1312,12 +1312,10 @@ static int read_from_local_sock(struct local_client *thisfd)
 		}
 
 		/* Free any old buffer space */
-		free(thisfd->bits.localsock.cmd);
+		dm_free(thisfd->bits.localsock.cmd);
 
 		/* Save the message */
-		thisfd->bits.localsock.cmd = malloc(len + missing_len);
-
-		if (!thisfd->bits.localsock.cmd) {
+		if (!(thisfd->bits.localsock.cmd = dm_malloc(len + missing_len))) {
 			struct clvm_header reply = {
 				.cmd = CLVMD_CMD_REPLY,
 				.status = ENOMEM
@@ -1349,7 +1347,7 @@ static int read_from_local_sock(struct local_client *thisfd)
 				} else {
 					/* EOF or error on socket */
 					DEBUGLOG("EOF on local socket\n");
-					free(thisfd->bits.localsock.cmd);
+					dm_free(thisfd->bits.localsock.cmd);
 					thisfd->bits.localsock.cmd = NULL;
 					return 0;
 				}
@@ -1415,8 +1413,7 @@ static int read_from_local_sock(struct local_client *thisfd)
 			return len;
 		}
 
-		newfd = malloc(sizeof(struct local_client));
-		if (!newfd) {
+		if (!(newfd = dm_malloc(sizeof(*newfd)))) {
 			struct clvm_header reply = {
 				.cmd = CLVMD_CMD_REPLY,
 				.status = ENOMEM
@@ -1616,14 +1613,12 @@ static void process_remote_command(struct clvm_header *msg, int msglen, int fd,
 	}
 
 	/* Allocate a default reply buffer */
-	replyargs = malloc(max_cluster_message - sizeof(struct clvm_header));
-
-	if (replyargs != NULL) {
+	if ((replyargs = dm_malloc(max_cluster_message - sizeof(struct clvm_header))))
 		/* Run the command */
 		/* FIXME: usage of init_test() is unprotected */
 		status = do_command(NULL, msg, msglen, &replyargs,
 				    buflen, &replylen);
-	} else {
+	else {
 		status = ENOMEM;
 	}
 
@@ -1631,8 +1626,7 @@ static void process_remote_command(struct clvm_header *msg, int msglen, int fd,
 	if (msg->cmd != CLVMD_CMD_REPLY) {
 		char *aggreply;
 
-		aggreply =
-		    realloc(replyargs, replylen + sizeof(struct clvm_header));
+		aggreply = dm_realloc(replyargs, replylen + sizeof(struct clvm_header));
 		if (aggreply) {
 			struct clvm_header *agghead =
 			    (struct clvm_header *) aggreply;
@@ -1670,7 +1664,7 @@ static void process_remote_command(struct clvm_header *msg, int msglen, int fd,
 		}
 	}
 
-	free(replyargs);
+	dm_free(replyargs);
 }
 
 /* Add a reply to a command to the list of replies for this client.
@@ -1684,17 +1678,15 @@ static void add_reply_to_list(struct local_client *client, int status,
 	pthread_mutex_lock(&client->bits.localsock.reply_mutex);
 
 	/* Add it to the list of replies */
-	reply = malloc(sizeof(struct node_reply));
-	if (reply) {
+	if ((reply = dm_malloc(sizeof(*reply)))) {
 		reply->status = status;
 		clops->name_from_csid(csid, reply->node);
 		DEBUGLOG("Reply from node %s: %d bytes\n", reply->node, len);
 
 		if (len > 0) {
-			reply->replymsg = malloc(len);
-			if (!reply->replymsg) {
+			if (!(reply->replymsg = dm_malloc(len)))
 				reply->status = ENOMEM;
-			} else {
+			else {
 				memcpy(reply->replymsg, buf, len);
 			}
 		} else {
@@ -1811,17 +1803,17 @@ static int process_local_command(struct clvm_header *msg, int msglen,
 				 struct local_client *client,
 				 unsigned short xid)
 {
-	char *replybuf = malloc(max_cluster_message);
+	char *replybuf;
 	int buflen = max_cluster_message - sizeof(struct clvm_header) - 1;
 	int replylen = 0;
 	int status;
 
+	if (!(replybuf = dm_malloc(max_cluster_message)))
+		return -1;
+
 	DEBUGLOG("process_local_command: %s msg=%p, msglen =%d, client=%p\n",
 		 decode_cmd(msg->cmd), msg, msglen, client);
 
-	if (!replybuf)
-		return -1;
-
 	/* If remote flag is set, just set a successful status code. */
 	if (msg->flags & CLVMD_FLAG_REMOTE)
 		status = 0;
@@ -1839,7 +1831,7 @@ static int process_local_command(struct clvm_header *msg, int msglen,
 		DEBUGLOG("Local command took too long, discarding xid %d, current is %d\n",
 			 xid, client->xid);
 
-	free(replybuf);
+	dm_free(replybuf);
 
 	return status;
 }
@@ -1895,7 +1887,7 @@ static void send_local_reply(struct local_client *client, int status, int fd)
 
 	/* Add in the size of our header */
 	message_len = message_len + sizeof(struct clvm_header);
-	if (!(replybuf = malloc(message_len))) {
+	if (!(replybuf = dm_malloc(message_len))) {
 		DEBUGLOG("Memory allocation fails\n");
 		return;
 	}
@@ -1933,8 +1925,8 @@ static void send_local_reply(struct local_client *client, int status, int fd)
 		}
 		thisreply = thisreply->next;
 
-		free(tempreply->replymsg);
-		free(tempreply);
+		dm_free(tempreply->replymsg);
+		dm_free(tempreply);
 	}
 
 	/* Terminate with an empty node name */
@@ -1945,7 +1937,7 @@ static void send_local_reply(struct local_client *client, int status, int fd)
 	/* And send it */
 	send_message(replybuf, message_len, our_csid, fd,
 		     "Error sending REPLY to client");
-	free(replybuf);
+	dm_free(replybuf);
 
 	/* Reset comms variables */
 	client->bits.localsock.replies = NULL;
@@ -1964,8 +1956,8 @@ static void free_reply(struct local_client *client)
 
 		thisreply = thisreply->next;
 
-		free(tempreply->replymsg);
-		free(tempreply);
+		dm_free(tempreply->replymsg);
+		dm_free(tempreply);
 	}
 	client->bits.localsock.replies = NULL;
 }
@@ -2040,7 +2032,7 @@ static int process_work_item(struct lvm_thread_cmd *cmd)
 	if (cmd->msg == NULL) {
 		DEBUGLOG("process_work_item: free fd %d\n", cmd->client->fd);
 		cmd_client_cleanup(cmd->client);
-		free(cmd->client);
+		dm_free(cmd->client);
 		return 0;
 	}
 
@@ -2094,8 +2086,8 @@ static void *lvm_thread_fn(void *arg)
 			pthread_mutex_unlock(&lvm_thread_mutex);
 
 			process_work_item(cmd);
-			free(cmd->msg);
-			free(cmd);
+			dm_free(cmd->msg);
+			dm_free(cmd);
 
 			pthread_mutex_lock(&lvm_thread_mutex);
 		}
@@ -2116,15 +2108,13 @@ static int add_to_lvmqueue(struct local_client *client, struct clvm_header *msg,
 	if (lvm_thread_exit)
 		return -1; /* We are about to exit */
 
-	cmd = malloc(sizeof(struct lvm_thread_cmd));
-	if (!cmd)
+	if (!(cmd = dm_malloc(sizeof(*cmd))))
 		return ENOMEM;
 
 	if (msglen) {
-		cmd->msg = malloc(msglen);
-		if (!cmd->msg) {
+		if (!(cmd->msg = dm_malloc(msglen))) {
 			log_error("Unable to allocate buffer space\n");
-			free(cmd);
+			dm_free(cmd);
 			return -1;
 		}
 		memcpy(cmd->msg, msg, msglen);




More information about the lvm-devel mailing list