diff options
author | Patrick Caulfield <pcaulfie@redhat.com> | 2007-06-14 10:16:35 +0000 |
---|---|---|
committer | Patrick Caulfield <pcaulfie@redhat.com> | 2007-06-14 10:16:35 +0000 |
commit | 8ef3cec1f8d69bd4a2f9f758feb5ae6b7679a072 (patch) | |
tree | 51b8e8c44d83f88b73b008e95c87d0f50af3b846 /daemons | |
parent | 7a6571fe05bc5d5326c1b52ce3b3a7c95cb227c5 (diff) | |
download | lvm2-8ef3cec1f8d69bd4a2f9f758feb5ae6b7679a072.tar.gz lvm2-8ef3cec1f8d69bd4a2f9f758feb5ae6b7679a072.tar.xz lvm2-8ef3cec1f8d69bd4a2f9f758feb5ae6b7679a072.zip |
Remove system LV code from clvmd. It's never been used and never should be
used! It's removal tidies a number of code paths inside clvmd.
Diffstat (limited to 'daemons')
-rw-r--r-- | daemons/clvmd/Makefile.in | 3 | ||||
-rw-r--r-- | daemons/clvmd/clvmd.c | 145 |
2 files changed, 18 insertions, 130 deletions
diff --git a/daemons/clvmd/Makefile.in b/daemons/clvmd/Makefile.in index 37d0da8a..82f87c56 100644 --- a/daemons/clvmd/Makefile.in +++ b/daemons/clvmd/Makefile.in @@ -19,8 +19,7 @@ SOURCES = \ clvmd-command.c \ clvmd.c \ lvm-functions.c \ - refresh_clvmd.c \ - system-lv.c + refresh_clvmd.c ifeq ("@CLVMD@", "gulm") GULM = yes diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c index ebe9bb5f..4cfebe2e 100644 --- a/daemons/clvmd/clvmd.c +++ b/daemons/clvmd/clvmd.c @@ -45,7 +45,6 @@ #include "version.h" #include "clvmd.h" #include "refresh_clvmd.h" -#include "system-lv.h" #include "list.h" #include "log.h" @@ -58,10 +57,6 @@ #define MAX_RETRIES 4 -/* The maximum size of a message that will fit into a packet. Anything bigger - than this is sent via the system LV */ -#define MAX_INLINE_MESSAGE (max_cluster_message-sizeof(struct clvm_header)) - #define ISLOCAL_CSID(c) (memcmp(c, our_csid, max_csid_len) == 0) /* Head of the fd list. Also contains @@ -1062,31 +1057,6 @@ int add_client(struct local_client *new_client) return 0; } - -/* - * Send a long message using the System LV - */ -static int send_long_message(struct local_client *thisfd, struct clvm_header *inheader, int len) -{ - struct clvm_header new_header; - int status; - - DEBUGLOG("Long message: being sent via system LV:\n"); - - /* Use System LV */ - status = system_lv_write_data((char *)inheader, len); - if (status < 0) - return errno; - - /* Send message indicating System-LV is being used */ - memcpy(&new_header, inheader, sizeof(new_header)); - new_header.flags |= CLVMD_FLAG_SYSTEMLV; - new_header.xid = thisfd->xid; - - return send_message(&new_header, sizeof(new_header), NULL, -1, - "Error forwarding long message to cluster"); -} - /* Called when the pre-command has completed successfully - we now execute the real command on all the requested nodes */ static int distribute_command(struct local_client *thisfd) @@ -1113,13 +1083,9 @@ static int distribute_command(struct local_client *thisfd) add_to_lvmqueue(thisfd, inheader, len, NULL); DEBUGLOG("Sending message to all cluster nodes\n"); - if (len > MAX_INLINE_MESSAGE) { - send_long_message(thisfd, inheader, len ); - } else { - inheader->xid = thisfd->xid; - send_message(inheader, len, NULL, -1, - "Error forwarding message to cluster"); - } + inheader->xid = thisfd->xid; + send_message(inheader, len, NULL, -1, + "Error forwarding message to cluster"); } else { /* Do it on a single node */ char csid[MAX_CSID_LEN]; @@ -1140,14 +1106,10 @@ static int distribute_command(struct local_client *thisfd) } else { DEBUGLOG("Sending message to single node: %s\n", inheader->node); - if (len > MAX_INLINE_MESSAGE) { - send_long_message(thisfd, inheader, len ); - } else { - inheader->xid = thisfd->xid; - send_message(inheader, len, - csid, -1, - "Error forwarding message to cluster node"); - } + inheader->xid = thisfd->xid; + send_message(inheader, len, + csid, -1, + "Error forwarding message to cluster node"); } } } @@ -1178,55 +1140,6 @@ static void process_remote_command(struct clvm_header *msg, int msglen, int fd, DEBUGLOG("process_remote_command %d for clientid 0x%x XID %d on node %s\n", msg->cmd, msg->clientid, msg->xid, nodename); - /* Is the data to be found in the system LV ? */ - if (msg->flags & CLVMD_FLAG_SYSTEMLV) { - struct clvm_header *newmsg; - - DEBUGLOG("Reading message from system LV\n"); - newmsg = - (struct clvm_header *) malloc(msg->arglen + - sizeof(struct clvm_header)); - if (newmsg) { - ssize_t len; - if (system_lv_read_data(nodename, (char *) newmsg, - &len) == 0) { - msg = newmsg; - msg_malloced = 1; - msglen = len; - } else { - struct clvm_header head; - DEBUGLOG("System LV read failed\n"); - - /* Return a failure response */ - head.cmd = CLVMD_CMD_REPLY; - head.status = EFBIG; - head.flags = 0; - head.clientid = msg->clientid; - head.arglen = 0; - head.node[0] = '\0'; - send_message(&head, sizeof(struct clvm_header), - csid, fd, - "Error sending ENOMEM command reply"); - return; - } - } else { - struct clvm_header head; - DEBUGLOG - ("Error attempting to malloc %d bytes for system LV read\n", - msg->arglen); - /* Return a failure response */ - head.cmd = CLVMD_CMD_REPLY; - head.status = ENOMEM; - head.flags = 0; - head.clientid = msg->clientid; - head.arglen = 0; - head.node[0] = '\0'; - send_message(&head, sizeof(struct clvm_header), csid, - fd, "Error sending ENOMEM command reply"); - return; - } - } - /* Check for GOAWAY and sulk */ if (msg->cmd == CLVMD_CMD_GOAWAY) { @@ -1301,40 +1214,16 @@ static void process_remote_command(struct clvm_header *msg, int msglen, int fd, replyargs, replylen); agghead->xid = msg->xid; - - /* Use the system LV ? */ - if (replylen > MAX_INLINE_MESSAGE) { - agghead->cmd = CLVMD_CMD_REPLY; - agghead->status = status; - agghead->flags = CLVMD_FLAG_SYSTEMLV; - agghead->clientid = msg->clientid; - agghead->arglen = replylen; - agghead->node[0] = '\0'; - - /* If System LV operation failed then report it as EFBIG but only do it - if the data buffer has something in it. */ - if (system_lv_write_data(aggreply, - replylen + sizeof(struct clvm_header)) < 0 - && replylen > 0) - agghead->status = EFBIG; - - send_message(agghead, - sizeof(struct clvm_header), csid, - fd, - "Error sending long command reply"); - - } else { - agghead->cmd = CLVMD_CMD_REPLY; - agghead->status = status; - agghead->flags = 0; - agghead->clientid = msg->clientid; - agghead->arglen = replylen; - agghead->node[0] = '\0'; - send_message(aggreply, - sizeof(struct clvm_header) + - replylen, csid, fd, - "Error sending command reply"); - } + agghead->cmd = CLVMD_CMD_REPLY; + agghead->status = status; + agghead->flags = 0; + agghead->clientid = msg->clientid; + agghead->arglen = replylen; + agghead->node[0] = '\0'; + send_message(aggreply, + sizeof(struct clvm_header) + + replylen, csid, fd, + "Error sending command reply"); } else { struct clvm_header head; |