Home | History | Annotate | Line # | Download | only in cmirrord
      1 /*	$NetBSD: cluster.h,v 1.1.1.1 2009/12/02 00:27:08 haad Exp $	*/
      2 
      3 /*
      4  * Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved.
      5  *
      6  * This copyrighted material is made available to anyone wishing to use,
      7  * modify, copy, or redistribute it subject to the terms and conditions
      8  * of the GNU Lesser General Public License v.2.1.
      9  *
     10  * You should have received a copy of the GNU Lesser General Public License
     11  * along with this program; if not, write to the Free Software Foundation,
     12  * Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     13  */
     14 #ifndef __CLUSTER_LOG_CLUSTER_DOT_H__
     15 #define __CLUSTER_LOG_CLUSTER_DOT_H__
     16 
     17 #include "libdevmapper.h"
     18 #include "dm-log-userspace.h"
     19 
     20 /*
     21  * There is other information in addition to what can
     22  * be found in the dm_ulog_request structure that we
     23  * need for processing.  'clog_request' is the wrapping
     24  * structure we use to make the additional fields
     25  * available.
     26  */
     27 struct clog_request {
     28 	struct dm_list list;
     29 
     30 	/*
     31 	 * 'originator' is the machine from which the requests
     32 	 * was made.
     33 	 */
     34 	uint32_t originator;
     35 
     36 	/*
     37 	 * 'pit_server' is the "point-in-time" server for the
     38 	 * request.  (I.e.  The machine that was the server at
     39 	 * the time the request was issued - only important during
     40 	 * startup.
     41 	 */
     42 	uint32_t pit_server;
     43 
     44 	/*
     45 	 * The request from the kernel that is being processed
     46 	 */
     47 	struct dm_ulog_request u_rq;
     48 };
     49 
     50 int init_cluster(void);
     51 void cleanup_cluster(void);
     52 void cluster_debug(void);
     53 
     54 int create_cluster_cpg(char *uuid, uint64_t luid);
     55 int destroy_cluster_cpg(char *uuid);
     56 
     57 int cluster_send(struct clog_request *rq);
     58 
     59 #endif /* __CLUSTER_LOG_CLUSTER_DOT_H__ */
     60