summaryrefslogtreecommitdiffstats
path: root/daemons/cmirrord/cluster.h
diff options
context:
space:
mode:
Diffstat (limited to 'daemons/cmirrord/cluster.h')
-rw-r--r--daemons/cmirrord/cluster.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/daemons/cmirrord/cluster.h b/daemons/cmirrord/cluster.h
new file mode 100644
index 00000000..36c3bf95
--- /dev/null
+++ b/daemons/cmirrord/cluster.h
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use,
+ * modify, copy, or redistribute it subject to the terms and conditions
+ * of the GNU Lesser General Public License v.2.1.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+#ifndef __CLUSTER_LOG_CLUSTER_DOT_H__
+#define __CLUSTER_LOG_CLUSTER_DOT_H__
+
+#include "libdevmapper.h"
+#include "dm-log-userspace.h"
+
+/*
+ * There is other information in addition to what can
+ * be found in the dm_ulog_request structure that we
+ * need for processing. 'clog_request' is the wrapping
+ * structure we use to make the additional fields
+ * available.
+ */
+struct clog_request {
+ struct dm_list list;
+
+ /*
+ * 'originator' is the machine from which the requests
+ * was made.
+ */
+ uint32_t originator;
+
+ /*
+ * 'pit_server' is the "point-in-time" server for the
+ * request. (I.e. The machine that was the server at
+ * the time the request was issued - only important during
+ * startup.
+ */
+ uint32_t pit_server;
+
+ /*
+ * The request from the kernel that is being processed
+ */
+ struct dm_ulog_request u_rq;
+};
+
+int init_cluster(void);
+void cleanup_cluster(void);
+void cluster_debug(void);
+
+int create_cluster_cpg(char *uuid, uint64_t luid);
+int destroy_cluster_cpg(char *uuid);
+
+int cluster_send(struct clog_request *rq);
+
+#endif /* __CLUSTER_LOG_CLUSTER_DOT_H__ */