summaryrefslogtreecommitdiffstats
path: root/daemons
diff options
context:
space:
mode:
authorPatrick Caulfield <pcaulfie@redhat.com>2007-06-14 10:16:35 +0000
committerPatrick Caulfield <pcaulfie@redhat.com>2007-06-14 10:16:35 +0000
commit8ef3cec1f8d69bd4a2f9f758feb5ae6b7679a072 (patch)
tree51b8e8c44d83f88b73b008e95c87d0f50af3b846 /daemons
parent7a6571fe05bc5d5326c1b52ce3b3a7c95cb227c5 (diff)
downloadlvm2-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.in3
-rw-r--r--daemons/clvmd/clvmd.c145
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;