diff options
Diffstat (limited to 'daemons/cmirrord/cluster.h')
-rw-r--r-- | daemons/cmirrord/cluster.h | 57 |
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__ */ |