From: jbrassow@sourceware.org <jbrassow@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2 ./Makefile.in ./configure.in daemons/Make ...
Date: 13 Aug 2009 16:34:09 -0000 [thread overview]
Message-ID: <20090813163409.21880.qmail@sourceware.org> (raw)
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: jbrassow at sourceware.org 2009-08-13 16:34:07
Modified files:
. : Makefile.in configure.in
daemons : Makefile.in
daemons/clogd : clogd.c cluster.c cluster.h common.h
functions.c functions.h link_mon.c link_mon.h
local.c local.h logging.c logging.h
Log message:
cluster log daemon (clogd): Add to LVM build system
This check-in includes the touch-ups, make file changes, copyrights,
and other necessities to include the cluster log daemon into the
build system.
[autoconf still needs to be run to generate the 'configure' and
'Makefile' files.]
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/Makefile.in.diff?cvsroot=lvm2&r1=1.34&r2=1.35
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/configure.in.diff?cvsroot=lvm2&r1=1.105&r2=1.106
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/Makefile.in.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/clogd.c.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/cluster.c.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/cluster.h.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/common.h.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/functions.c.diff?cvsroot=lvm2&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/functions.h.diff?cvsroot=lvm2&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/link_mon.c.diff?cvsroot=lvm2&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/link_mon.h.diff?cvsroot=lvm2&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/local.c.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/local.h.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/logging.c.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/logging.h.diff?cvsroot=lvm2&r1=1.3&r2=1.4
--- LVM2/Makefile.in 2009/07/31 11:49:53 1.34
+++ LVM2/Makefile.in 2009/08/13 16:34:07 1.35
@@ -34,6 +34,7 @@
ifeq ($(MAKECMDGOALS),distclean)
SUBDIRS += daemons/clvmd \
+ daemons/clogd \
daemons/dmeventd/plugins \
daemons/dmeventd \
lib/format1 \
--- LVM2/configure.in 2009/07/31 13:31:53 1.105
+++ LVM2/configure.in 2009/08/13 16:34:07 1.106
@@ -63,7 +63,7 @@
################################################################################
dnl -- Checks for programs.
-AC_PROG_SED
+m4_pattern_allow(AC_PROG_SED)
AC_PROG_AWK
AC_PROG_CC
@@ -72,7 +72,7 @@
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
-AC_PROG_MKDIR_P
+m4_pattern_allow(AC_PROG_MKDIR_P)
AC_PROG_RANLIB
AC_PATH_PROG(CFLOW_CMD, cflow)
AC_PATH_PROG(CSCOPE_CMD, cscope)
@@ -353,6 +353,23 @@
fi
################################################################################
+dnl -- Build cluster log daemon
+AC_MSG_CHECKING(whether to build cluster log daemon)
+AC_ARG_ENABLE(clogd, [ --enable-clogd Enable the cluster log daemon],
+CLOGD=$enableval)
+AC_MSG_RESULT($CLOGD)
+
+dnl -- Look for corosync libraries if required.
+if [[ "x$CLOGD" = xall -o `expr x"$CLOGD" : '.*corosync.*'` != 0 ]]; then
+#
+# FIXME: ALSO NEED TO CHECK FOR CHECKPOINT MODULE
+#
+ PKG_CHECK_MODULES(CPG, libcpg, [],
+ [AC_MSG_RESULT([no pkg for libcpg library, using -lcpg]);
+ CPG_LIBS="-lcpg"])
+fi
+
+################################################################################
dnl -- Enable debugging
AC_MSG_CHECKING(whether to enable debugging)
AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging],
@@ -801,6 +818,7 @@
AC_SUBST(CLDWHOLEARCHIVE)
AC_SUBST(CLUSTER)
AC_SUBST(CLVMD)
+AC_SUBST(CLOGD)
AC_SUBST(CMDLIB)
AC_SUBST(CONFDB_CFLAGS)
AC_SUBST(CONFDB_LIBS)
@@ -870,6 +888,7 @@
make.tmpl
daemons/Makefile
daemons/clvmd/Makefile
+daemons/clogd/Makefile
daemons/dmeventd/Makefile
daemons/dmeventd/libdevmapper-event.pc
daemons/dmeventd/plugins/Makefile
--- LVM2/daemons/Makefile.in 2008/11/04 16:41:47 1.7
+++ LVM2/daemons/Makefile.in 2009/08/13 16:34:07 1.8
@@ -21,6 +21,10 @@
SUBDIRS = clvmd
endif
+ifeq ("@CLOGD@", "yes")
+ SUBDIRS += clogd
+endif
+
ifeq ("@DMEVENTD@", "yes")
SUBDIRS += dmeventd
endif
--- LVM2/daemons/clogd/clogd.c 2009/07/21 15:34:53 1.3
+++ LVM2/daemons/clogd/clogd.c 2009/08/13 16:34:07 1.4
@@ -1,3 +1,14 @@
+/*
+ * 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 General Public License v.2.
+ *
+ * You should have received a copy of the GNU 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
+ */
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
@@ -13,9 +24,9 @@
#include <linux/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
-#include <linux/dm-log-userspace.h>
#include <linux/dm-ioctl.h>
+#include "dm-log-userspace.h"
#include "functions.h"
#include "local.h"
#include "cluster.h"
--- LVM2/daemons/clogd/cluster.c 2009/07/28 21:14:12 1.7
+++ LVM2/daemons/clogd/cluster.c 2009/08/13 16:34:07 1.8
@@ -1,3 +1,14 @@
+/*
+ * 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
+ */
#include <errno.h>
#include <string.h>
#include <sys/types.h>
@@ -14,8 +25,8 @@
#include <openais/cpg.h>
#include <openais/saCkpt.h>
-#include "linux/dm-log-userspace.h"
-#include <libdevmapper.h>
+#include "dm-log-userspace.h"
+#include "libdevmapper.h"
#include "functions.h"
#include "local.h"
#include "common.h"
@@ -133,7 +144,7 @@
int count=0;
int found;
struct iovec iov;
- struct clog_cpg *entry, *tmp;
+ struct clog_cpg *entry;
dm_list_iterate_items(entry, &clog_cpg_list)
if (!strncmp(entry->name.value, rq->u_rq.uuid,
@@ -263,7 +274,7 @@
struct clog_request *rq)
{
int r = 0;
- struct clog_request *orig_rq, *n;
+ struct clog_request *orig_rq;
/*
* If I didn't send it, then I don't care about the response
@@ -317,7 +328,7 @@
static struct clog_cpg *find_clog_cpg(cpg_handle_t handle)
{
- struct clog_cpg *match, *tmp;
+ struct clog_cpg *match;
dm_list_iterate_items(match, &clog_cpg_list)
if (match->handle == handle)
@@ -852,7 +863,7 @@
static int do_cluster_work(void *data)
{
int r = SA_AIS_OK;
- struct clog_cpg *entry, *tmp;
+ struct clog_cpg *entry;
dm_list_iterate_items(entry, &clog_cpg_list) {
r = cpg_dispatch(entry->handle, CPG_DISPATCH_ALL);
@@ -930,7 +941,7 @@
int i_am_server;
int response = 0;
struct clog_request *rq = msg;
- struct clog_request *tmp_rq, *n;
+ struct clog_request *tmp_rq;
struct clog_cpg *match;
match = find_clog_cpg(handle);
@@ -1363,7 +1374,7 @@
struct cpg_address *joined_list,
int joined_list_entries)
{
- struct clog_cpg *match, *tmp;
+ struct clog_cpg *match;
int found = 0;
dm_list_iterate_items(match, &clog_cpg_list)
@@ -1448,7 +1459,7 @@
int r;
int size;
struct clog_cpg *new = NULL;
- struct clog_cpg *tmp, *tmp2;
+ struct clog_cpg *tmp;
dm_list_iterate_items(tmp, &clog_cpg_list)
if (!strncmp(tmp->name.value, uuid, CPG_MAX_NAME_LENGTH)) {
@@ -1603,8 +1614,8 @@
void cluster_debug(void)
{
struct checkpoint_data *cp;
- struct clog_cpg *entry, *tmp;
- struct clog_request *rq, *n;
+ struct clog_cpg *entry;
+ struct clog_request *rq;
int i;
LOG_ERROR("");
--- LVM2/daemons/clogd/cluster.h 2009/07/28 21:14:12 1.4
+++ LVM2/daemons/clogd/cluster.h 2009/08/13 16:34:07 1.5
@@ -1,8 +1,19 @@
+/*
+ * 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 <linux/dm-log-userspace.h>
+#include "libdevmapper.h"
+#include "dm-log-userspace.h"
/*
* There is other information in addition to what can
--- LVM2/daemons/clogd/common.h 2009/07/21 15:34:53 1.2
+++ LVM2/daemons/clogd/common.h 2009/08/13 16:34:07 1.3
@@ -1,3 +1,14 @@
+/*
+ * 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_COMMON_DOT_H__
#define __CLUSTER_LOG_COMMON_DOT_H__
--- LVM2/daemons/clogd/functions.c 2009/08/13 16:31:01 1.7
+++ LVM2/daemons/clogd/functions.c 2009/08/13 16:34:07 1.8
@@ -1,3 +1,17 @@
+/*
+ * 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
+ */
+#define _GNU_SOURCE
+#define _FILE_OFFSET_BITS 64
+
#include <stdint.h>
#include <errno.h>
#include <string.h>
@@ -7,7 +21,7 @@
#include <unistd.h>
#include <signal.h>
#include <linux/kdev_t.h>
-#define __USE_GNU /* for O_DIRECT */
+//#define __USE_GNU /* for O_DIRECT */
#include <fcntl.h>
#include <time.h>
#include "libdevmapper.h"
@@ -54,7 +68,6 @@
uint32_t region_size;
uint32_t region_count;
uint64_t sync_count;
- uint32_t bitset_uint32_count;
dm_bitset_t clean_bits;
dm_bitset_t sync_bits;
@@ -104,18 +117,18 @@
static int log_test_bit(dm_bitset_t bs, int bit)
{
- return dm_bit(bs, i);
+ return dm_bit(bs, bit);
}
static void log_set_bit(struct log_c *lc, dm_bitset_t bs, int bit)
{
- dm_bit_set(bs, i);
+ dm_bit_set(bs, bit);
lc->touched = 1;
}
static void log_clear_bit(struct log_c *lc, dm_bitset_t bs, int bit)
{
- dm_bit_clear(bs, i);
+ dm_bit_clear(bs, bit);
lc->touched = 1;
}
@@ -353,9 +366,8 @@
char *p;
uint64_t region_size;
uint64_t region_count;
- uint32_t bitset_size;
struct log_c *lc = NULL;
- struct log_c *dup;
+ struct log_c *duplicate;
enum sync sync = DEFAULTSYNC;
uint32_t block_on_error = 0;
@@ -438,8 +450,8 @@
strncpy(lc->uuid, uuid, DM_UUID_LEN);
lc->luid = luid;
- if ((dup = get_log(lc->uuid, lc->luid)) ||
- (dup = get_pending_log(lc->uuid, lc->luid))) {
+ if ((duplicate = get_log(lc->uuid, lc->luid)) ||
+ (duplicate = get_pending_log(lc->uuid, lc->luid))) {
LOG_ERROR("[%s/%llu] Log already exists, unable to create.",
SHORT_UUID(lc->uuid), lc->luid);
free(lc);
@@ -448,33 +460,27 @@
dm_list_init(&lc->mark_list);
- lc->bitset_uint32_count = region_count /
- (sizeof(*lc->clean_bits) << BYTE_SHIFT);
- if (region_count % (sizeof(*lc->clean_bits) << BYTE_SHIFT))
- lc->bitset_uint32_count++;
-
- bitset_size = lc->bitset_uint32_count * sizeof(*lc->clean_bits);
-
- lc->clean_bits = malloc(bitset_size);
+ lc->clean_bits = dm_bitset_create(NULL, region_count);
if (!lc->clean_bits) {
LOG_ERROR("Unable to allocate clean bitset");
r = -ENOMEM;
goto fail;
}
- memset(lc->clean_bits, -1, bitset_size);
- lc->sync_bits = malloc(bitset_size);
+ lc->sync_bits = dm_bitset_create(NULL, region_count);
if (!lc->sync_bits) {
LOG_ERROR("Unable to allocate sync bitset");
r = -ENOMEM;
goto fail;
}
- memset(lc->sync_bits, (sync == NOSYNC) ? -1 : 0, bitset_size);
+ if (sync == NOSYNC)
+ dm_bit_set_all(lc->sync_bits);
+
lc->sync_count = (sync == NOSYNC) ? region_count : 0;
if (disk_log) {
page_size = sysconf(_SC_PAGESIZE);
- pages = bitset_size/page_size;
- pages += bitset_size%page_size ? 1 : 0;
+ pages = ((int)lc->clean_bits[0])/page_size;
+ pages += ((int)lc->clean_bits[0])%page_size ? 1 : 0;
pages += 1; /* for header */
r = open(disk_path, O_RDWR | O_DIRECT);
@@ -709,7 +715,6 @@
uint32_t i;
int commit_log = 0;
struct log_c *lc = get_log(rq->uuid, rq->luid);
- size_t size = lc->bitset_uint32_count * sizeof(uint32_t);
if (!lc)
return -EINVAL;
@@ -792,7 +797,7 @@
log_clear_bit(lc, lc->clean_bits, i);
/* copy clean across to sync */
- memcpy(lc->sync_bits, lc->clean_bits, size);
+ dm_bit_copy(lc->sync_bits, lc->clean_bits);
if (commit_log && (lc->disk_fd >= 0)) {
rq->error = write_log(lc);
@@ -812,7 +817,7 @@
log_clear_bit(lc, lc->sync_bits, i);
}
- lc->sync_count = count_bits32(lc->sync_bits, lc->bitset_uint32_count);
+ lc->sync_count = count_bits32(lc->sync_bits);
LOG_SPRINT(lc, "[%s] Initial sync_count = %llu",
SHORT_UUID(lc->uuid), (unsigned long long)lc->sync_count);
@@ -1218,7 +1223,6 @@
}
pkg->r = find_next_zero_bit(lc->sync_bits,
- lc->region_count,
lc->sync_search);
if (pkg->r >= lc->region_count) {
@@ -1301,8 +1305,8 @@
(unsigned long long)pkg->region);
}
- if (lc->sync_count != count_bits32(lc->sync_bits, lc->bitset_uint32_count)) {
- unsigned long long reset = count_bits32(lc->sync_bits, lc->bitset_uint32_count);
+ if (lc->sync_count != count_bits32(lc->sync_bits)) {
+ unsigned long long reset = count_bits32(lc->sync_bits);
LOG_SPRINT(lc, "SET - SEQ#=%u, UUID=%s, nodeid = %u:: "
"sync_count(%llu) != bitmap count(%llu)",
@@ -1348,8 +1352,8 @@
rq->data_size = sizeof(*sync_count);
- if (lc->sync_count != count_bits32(lc->sync_bits, lc->bitset_uint32_count)) {
- unsigned long long reset = count_bits32(lc->sync_bits, lc->bitset_uint32_count);
+ if (lc->sync_count != count_bits32(lc->sync_bits)) {
+ unsigned long long reset = count_bits32(lc->sync_bits);
LOG_SPRINT(lc, "get_sync_count - SEQ#=%u, UUID=%s, nodeid = %u:: "
"sync_count(%llu) != bitmap count(%llu)",
@@ -1689,11 +1693,16 @@
SHORT_UUID(lc->uuid), debug_who,
(unsigned long long)lc->recovering_region,
lc->recoverer,
- (unsigned long long)count_bits32(lc->sync_bits, lc->bitset_uint32_count));
+ (unsigned long long)count_bits32(lc->sync_bits));
return 64;
}
- bitset_size = lc->bitset_uint32_count * sizeof(*lc->clean_bits);
+ /* Size in 'int's */
+ bitset_size = ((int)lc->clean_bits[0]/DM_BITS_PER_INT) + 1;
+
+ /* Size in bytes */
+ bitset_size *= 4;
+
*buf = malloc(bitset_size);
if (!*buf) {
@@ -1702,13 +1711,13 @@
}
if (!strncmp(which, "sync_bits", 9)) {
- memcpy(*buf, lc->sync_bits, bitset_size);
+ memcpy(*buf, lc->sync_bits + 1, bitset_size);
LOG_DBG("[%s] storing sync_bits (sync_count = %llu):",
SHORT_UUID(uuid), (unsigned long long)
- count_bits32(lc->sync_bits, lc->bitset_uint32_count));
+ count_bits32(lc->sync_bits));
print_bits(*buf, bitset_size, 0);
} else if (!strncmp(which, "clean_bits", 9)) {
- memcpy(*buf, lc->clean_bits, bitset_size);
+ memcpy(*buf, lc->clean_bits + 1, bitset_size);
LOG_DBG("[%s] storing clean_bits:", SHORT_UUID(lc->uuid));
print_bits(*buf, bitset_size, 0);
}
@@ -1742,7 +1751,12 @@
return 0;
}
- bitset_size = lc->bitset_uint32_count * sizeof(*lc->clean_bits);
+ /* Size in 'int's */
+ bitset_size = ((int)lc->clean_bits[0]/DM_BITS_PER_INT) + 1;
+
+ /* Size in bytes */
+ bitset_size *= 4;
+
if (bitset_size != size) {
LOG_ERROR("pull_state(%s): bad bitset_size (%d vs %d)",
which, size, bitset_size);
@@ -1751,14 +1765,14 @@
if (!strncmp(which, "sync_bits", 9)) {
lc->resume_override += 1;
- memcpy(lc->sync_bits, buf, bitset_size);
+ memcpy(lc->sync_bits + 1, buf, bitset_size);
LOG_DBG("[%s] loading sync_bits (sync_count = %llu):",
SHORT_UUID(lc->uuid),(unsigned long long)
- count_bits32(lc->sync_bits, lc->bitset_uint32_count));
+ count_bits32(lc->sync_bits));
print_bits((char *)lc->sync_bits, bitset_size, 0);
} else if (!strncmp(which, "clean_bits", 9)) {
lc->resume_override += 2;
- memcpy(lc->clean_bits, buf, bitset_size);
+ memcpy(lc->clean_bits + 1, buf, bitset_size);
LOG_DBG("[%s] loading clean_bits:", SHORT_UUID(lc->uuid));
print_bits((char *)lc->clean_bits, bitset_size, 0);
}
@@ -1803,11 +1817,9 @@
dm_list_iterate_items(lc, &log_pending_list) {
LOG_ERROR("%s", lc->uuid);
LOG_ERROR("sync_bits:");
- print_bits((char *)lc->sync_bits,
- lc->bitset_uint32_count * sizeof(*lc->sync_bits), 1);
+ print_bits((char *)lc->sync_bits, (int)lc->sync_bits[0], 1);
LOG_ERROR("clean_bits:");
- print_bits((char *)lc->clean_bits,
- lc->bitset_uint32_count * sizeof(*lc->clean_bits), 1);
+ print_bits((char *)lc->clean_bits, (int)lc->sync_bits[0], 1);
}
dm_list_iterate_items(lc, &log_list) {
@@ -1818,14 +1830,12 @@
LOG_ERROR(" recovery_halted : %s", (lc->recovery_halted) ?
"YES" : "NO");
LOG_ERROR("sync_bits:");
- print_bits((char *)lc->sync_bits,
- lc->bitset_uint32_count * sizeof(*lc->sync_bits), 1);
+ print_bits((char *)lc->sync_bits, (int)lc->sync_bits[0], 1);
LOG_ERROR("clean_bits:");
- print_bits((char *)lc->clean_bits,
- lc->bitset_uint32_count * sizeof(*lc->clean_bits), 1);
+ print_bits((char *)lc->clean_bits, (int)lc->sync_bits[0], 1);
LOG_ERROR("Validating %s::", SHORT_UUID(lc->uuid));
- r = find_next_zero_bit(lc->sync_bits, lc->region_count, 0);
+ r = find_next_zero_bit(lc->sync_bits, 0);
LOG_ERROR(" lc->region_count = %llu",
(unsigned long long)lc->region_count);
LOG_ERROR(" lc->sync_count = %llu",
--- LVM2/daemons/clogd/functions.h 2009/07/28 15:55:50 1.4
+++ LVM2/daemons/clogd/functions.h 2009/08/13 16:34:07 1.5
@@ -1,7 +1,18 @@
+/*
+ * 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 __CLOG_FUNCTIONS_DOT_H__
#define __CLOG_FUNCTIONS_DOT_H__
-#include <linux/dm-log-userspace.h>
+#include "dm-log-userspace.h"
#include "cluster.h"
#define LOG_RESUMED 1
--- LVM2/daemons/clogd/link_mon.c 2009/01/08 17:12:33 1.1
+++ LVM2/daemons/clogd/link_mon.c 2009/08/13 16:34:07 1.2
@@ -1,3 +1,14 @@
+/*
+ * 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
+ */
#include <stdlib.h>
#include <errno.h>
#include <poll.h>
--- LVM2/daemons/clogd/link_mon.h 2009/01/08 17:12:33 1.1
+++ LVM2/daemons/clogd/link_mon.h 2009/08/13 16:34:07 1.2
@@ -1,3 +1,14 @@
+/*
+ * 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 __LINK_MON_DOT_H__
#define __LINK_MON_DOT_H__
--- LVM2/daemons/clogd/local.c 2009/07/21 15:34:53 1.3
+++ LVM2/daemons/clogd/local.c 2009/08/13 16:34:07 1.4
@@ -1,3 +1,14 @@
+/*
+ * 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
+ */
#include <unistd.h>
#include <errno.h>
#include <string.h>
@@ -8,7 +19,7 @@
#include <linux/connector.h>
#include <linux/netlink.h>
-#include "linux/dm-log-userspace.h"
+#include "dm-log-userspace.h"
#include "functions.h"
#include "cluster.h"
#include "common.h"
@@ -16,6 +27,12 @@
#include "link_mon.h"
#include "local.h"
+#ifndef CN_IDX_DM
+#warning Kernel should be at least 2.6.31
+#define CN_IDX_DM 0x7 /* Device Mapper */
+#define CN_VAL_DM_USERSPACE_LOG 0x1
+#endif
+
static int cn_fd; /* Connector (netlink) socket fd */
static char recv_buf[2048];
static char send_buf[2048];
--- LVM2/daemons/clogd/local.h 2009/07/21 15:34:53 1.2
+++ LVM2/daemons/clogd/local.h 2009/08/13 16:34:07 1.3
@@ -1,3 +1,14 @@
+/*
+ * 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_LOCAL_DOT_H__
#define __CLUSTER_LOG_LOCAL_DOT_H__
--- LVM2/daemons/clogd/logging.c 2009/07/21 15:34:53 1.2
+++ LVM2/daemons/clogd/logging.c 2009/08/13 16:34:07 1.3
@@ -1,3 +1,14 @@
+/*
+ * 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
+ */
#include <stdio.h>
#include <syslog.h>
--- LVM2/daemons/clogd/logging.h 2009/07/28 21:14:12 1.3
+++ LVM2/daemons/clogd/logging.h 2009/08/13 16:34:07 1.4
@@ -1,3 +1,15 @@
+/*
+ * 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_LOGGING_DOT_H__
#define __CLUSTER_LOG_LOGGING_DOT_H__
next reply other threads:[~2009-08-13 16:34 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-13 16:34 jbrassow [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-10-31 22:29 LVM2 ./Makefile.in ./configure.in daemons/Make agk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090813163409.21880.qmail@sourceware.org \
--to=jbrassow@sourceware.org \
--cc=lvm-devel@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.