All of lore.kernel.org
 help / color / mirror / Atom feed
From: jbrassow@sourceware.org <jbrassow@sourceware.org>
To: lvm-devel@redhat.com
Subject: LVM2/daemons/clogd Makefile cluster.c cluster. ...
Date: 28 Jul 2009 21:14:14 -0000	[thread overview]
Message-ID: <20090728211414.3824.qmail@sourceware.org> (raw)

CVSROOT:	/cvs/lvm2
Module name:	LVM2
Changes by:	jbrassow at sourceware.org	2009-07-28 21:14:13

Modified files:
	daemons/clogd  : Makefile cluster.c cluster.h functions.c 
	                 logging.h 
Removed files:
	daemons/clogd  : list.h 

Log message:
	Remove old custom list macros and replace with libdevmapper list
	macros.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/Makefile.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/cluster.c.diff?cvsroot=lvm2&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/cluster.h.diff?cvsroot=lvm2&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/functions.c.diff?cvsroot=lvm2&r1=1.5&r2=1.6
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/logging.h.diff?cvsroot=lvm2&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clogd/list.h.diff?cvsroot=lvm2&r1=1.1&r2=NONE

--- LVM2/daemons/clogd/Makefile	2009/07/21 15:32:13	1.2
+++ LVM2/daemons/clogd/Makefile	2009/07/28 21:14:12	1.3
@@ -41,11 +41,11 @@
 CFLAGS += -g
 
 LDFLAGS += $(shell if [ -e /usr/lib64/openais ]; then \
-		echo '-L/usr/lib64/openais -L/usr/lib64'; \
+		echo '-L/usr/lib64/openais -L/usr/lib64 -L/lib64'; \
 	else \
-		echo '-L/usr/lib/openais -L/usr/lib'; \
+		echo '-L/usr/lib/openais -L/usr/lib -L/lib'; \
 	fi)
-LDFLAGS += -lcpg -lSaCkpt -lext2fs
+LDFLAGS += -lcpg -lSaCkpt -lext2fs -ldevmapper
 
 all: ${TARGET}
 
--- LVM2/daemons/clogd/cluster.c	2009/07/28 15:55:50	1.6
+++ LVM2/daemons/clogd/cluster.c	2009/07/28 21:14:12	1.7
@@ -15,7 +15,7 @@
 #include <openais/saCkpt.h>
 
 #include "linux/dm-log-userspace.h"
-#include "list.h"
+#include <libdevmapper.h>
 #include "functions.h"
 #include "local.h"
 #include "common.h"
@@ -96,7 +96,7 @@
 
 #define MAX_CHECKPOINT_REQUESTERS 10
 struct clog_cpg {
-	struct list_head list;
+	struct dm_list list;
 
 	uint32_t lowest_id;
 	cpg_handle_t handle;
@@ -109,8 +109,8 @@
 	int free_me;
 	int delay;
 	int resend_requests;
-	struct list_head startup_list;
-	struct list_head working_list;
+	struct dm_list startup_list;
+	struct dm_list working_list;
 
 	int checkpoints_needed;
 	uint32_t checkpoint_requesters[MAX_CHECKPOINT_REQUESTERS];
@@ -119,8 +119,7 @@
 	char debugging[DEBUGGING_HISTORY][128];
 };
 
-/* FIXME: Need lock for this */
-static struct list_head clog_cpg_list;
+static struct dm_list clog_cpg_list;
 
 /*
  * cluster_send
@@ -136,7 +135,7 @@
 	struct iovec iov;
 	struct clog_cpg *entry, *tmp;
 
-	list_for_each_entry_safe(entry, tmp, &clog_cpg_list, list)
+	dm_list_iterate_items(entry, &clog_cpg_list)
 		if (!strncmp(entry->name.value, rq->u_rq.uuid,
 			     CPG_MAX_NAME_LENGTH)) {
 			found = 1;
@@ -196,16 +195,16 @@
 }
 
 static struct clog_request *get_matching_rq(struct clog_request *rq,
-					    struct list_head *l)
+					    struct dm_list *l)
 {
 	struct clog_request *match, *n;
 
-	list_for_each_entry_safe(match, n, l, list) {
+	dm_list_iterate_items_safe(match, n, l)
 		if (match->u_rq.seq == rq->u_rq.seq) {
-			list_del_init(&match->list);
+			dm_list_del(&match->list);
 			return match;
 		}
-	}
+
 	return NULL;
 }
 
@@ -284,15 +283,14 @@
 			  rq->u_rq.seq);
 
 		LOG_ERROR("Current local list:");
-		if (list_empty(&entry->working_list))
+		if (dm_list_empty(&entry->working_list))
 			LOG_ERROR("   [none]");
 
-		list_for_each_entry_safe(orig_rq, n, &entry->working_list, list) {
+		dm_list_iterate_items(orig_rq, &entry->working_list)
 			LOG_ERROR("   [%s]  %s:%u",
 				  SHORT_UUID(orig_rq->u_rq.uuid),
 				  _RQ_TYPE(orig_rq->u_rq.request_type),
 				  orig_rq->u_rq.seq);
-		}
 
 		return -EINVAL;
 	}
@@ -321,10 +319,9 @@
 {
 	struct clog_cpg *match, *tmp;
 
-	list_for_each_entry_safe(match, tmp, &clog_cpg_list, list) {
+	dm_list_iterate_items(match, &clog_cpg_list)
 		if (match->handle == handle)
 			return match;
-	}
 
 	return NULL;
 }
@@ -569,7 +566,7 @@
 	}
 	memset(rq, 0, sizeof(*rq));
 
-	INIT_LIST_HEAD(&rq->list);
+	dm_list_init(&rq->list);
 	rq->u_rq.request_type = DM_ULOG_CHECKPOINT_READY;
 	rq->originator = cp->requester;  /* FIXME: hack to overload meaning of originator */
 	strncpy(rq->u_rq.uuid, cp->uuid, CPG_MAX_NAME_LENGTH);
@@ -794,8 +791,8 @@
 
 	entry->resend_requests = 0;
 
-	list_for_each_entry_safe(rq, n, &entry->working_list, list) {
-		list_del_init(&rq->list);
+	dm_list_iterate_items_safe(rq, n, &entry->working_list) {
+		dm_list_del(&rq->list);
 
 		if (strcmp(entry->name.value, rq->u_rq.uuid)) {
 			LOG_ERROR("[%s]  Stray request from another log (%s)",
@@ -857,7 +854,7 @@
 	int r = SA_AIS_OK;
 	struct clog_cpg *entry, *tmp;
 
-	list_for_each_entry_safe(entry, tmp, &clog_cpg_list, list) {
+	dm_list_iterate_items(entry, &clog_cpg_list) {
 		r = cpg_dispatch(entry->handle, CPG_DISPATCH_ALL);
 		if (r != SA_AIS_OK)
 			LOG_ERROR("cpg_dispatch failed: %s", str_ais_error(r));
@@ -881,8 +878,8 @@
 	struct clog_request *rq, *n;
 	struct checkpoint_data *new;
 
-	list_for_each_entry_safe(rq, n, &entry->startup_list, list) {
-		list_del_init(&rq->list);
+	dm_list_iterate_items_safe(rq, n, &entry->startup_list) {
+		dm_list_del(&rq->list);
 
 		if (rq->u_rq.request_type == DM_ULOG_MEMBER_JOIN) {
 			new = prepare_checkpoint(entry, rq->originator);
@@ -959,8 +956,8 @@
 			return;
 		}
 		memcpy(tmp_rq, rq, sizeof(*rq) + rq->u_rq.data_size);
-		INIT_LIST_HEAD(&tmp_rq->list);
-		list_add_tail(&tmp_rq->list, &match->working_list);
+		dm_list_init(&tmp_rq->list);
+		dm_list_add( &match->working_list, &tmp_rq->list);
 	}
 
 	if (rq->u_rq.request_type == DM_ULOG_POSTSUSPEND) {
@@ -979,15 +976,14 @@
 					match->resend_requests = 1;
 					LOG_COND(log_resend_requests, "[%s] %u is leaving, resend required%s",
 						 SHORT_UUID(rq->u_rq.uuid), nodeid,
-						 (list_empty(&match->working_list)) ? " -- working_list empty": "");
-			
-					list_for_each_entry_safe(tmp_rq, n, &match->working_list, list) {
+						 (dm_list_empty(&match->working_list)) ? " -- working_list empty": "");
+
+					dm_list_iterate_items(tmp_rq, &match->working_list)
 						LOG_COND(log_resend_requests,
 							 "[%s]                %s/%u",
 							 SHORT_UUID(tmp_rq->u_rq.uuid),
 							 _RQ_TYPE(tmp_rq->u_rq.request_type),
 							 tmp_rq->u_rq.seq);
-					}
 				}
 
 				match->delay++;
@@ -1067,8 +1063,8 @@
 
 			memcpy(tmp_rq, rq, sizeof(*rq) + rq->u_rq.data_size);
 			tmp_rq->pit_server = match->lowest_id;
-			INIT_LIST_HEAD(&tmp_rq->list);
-			list_add_tail(&tmp_rq->list, &match->startup_list);
+			dm_list_init(&tmp_rq->list);
+			dm_list_add(&match->startup_list, &tmp_rq->list);
 			goto out;
 		}
 
@@ -1182,7 +1178,7 @@
 	 * FIXME: remove checkpoint_requesters/checkpoints_needed, and use
 	 * the startup_list interface exclusively
 	 */
-	if (list_empty(&match->startup_list) && (match->state == VALID) &&
+	if (dm_list_empty(&match->startup_list) && (match->state == VALID) &&
 	    (match->checkpoints_needed < MAX_CHECKPOINT_REQUESTERS)) {
 		match->checkpoint_requesters[match->checkpoints_needed++] = joined->nodeid;
 		goto out;
@@ -1198,8 +1194,8 @@
 	}
 	rq->u_rq.request_type = DM_ULOG_MEMBER_JOIN;
 	rq->originator = joined->nodeid;
-	INIT_LIST_HEAD(&rq->list);
-	list_add_tail(&rq->list, &match->startup_list);
+	dm_list_init(&rq->list);
+	dm_list_add(&match->startup_list, &rq->list);
 
 out:
 	/* Find the lowest_id, i.e. the server */
@@ -1241,15 +1237,15 @@
 	/* Am I leaving? */
 	if (my_cluster_id == left->nodeid) {
 		LOG_DBG("Finalizing leave...");
-		list_del_init(&match->list);
+		dm_list_del(&match->list);
 
 		cpg_fd_get(match->handle, &fd);
 		links_unregister(fd);
 
 		cluster_postsuspend(match->name.value, match->luid);
 
-		list_for_each_entry_safe(rq, n, &match->working_list, list) {
-			list_del_init(&rq->list);
+		dm_list_iterate_items_safe(rq, n, &match->working_list) {
+			dm_list_del(&rq->list);
 
 			if (rq->u_rq.request_type == DM_ULOG_POSTSUSPEND)
 				kernel_send(&rq->u_rq);
@@ -1278,13 +1274,13 @@
 			 SHORT_UUID(match->name.value), left->nodeid);
 		free_checkpoint(c_cp);
 	}
-	list_for_each_entry_safe(rq, n, &match->startup_list, list) {
+	dm_list_iterate_items_safe(rq, n, &match->startup_list) {
 		if ((rq->u_rq.request_type == DM_ULOG_MEMBER_JOIN) &&
 		    (rq->originator == left->nodeid)) {
 			LOG_COND(log_checkpoint,
 				 "[%s] Removing pending ckpt from startup list (%u is leaving)",
 				 SHORT_UUID(match->name.value), left->nodeid);
-			list_del_init(&rq->list);
+			dm_list_del(&rq->list);
 			free(rq);
 		}
 	}
@@ -1300,11 +1296,11 @@
 
 	if (left->nodeid < my_cluster_id) {
 		match->delay = (match->delay > 0) ? match->delay - 1 : 0;
-		if (!match->delay && list_empty(&match->working_list))
+		if (!match->delay && dm_list_empty(&match->working_list))
 			match->resend_requests = 0;
 		LOG_COND(log_resend_requests, "[%s] %u has left, delay = %d%s",
 			 SHORT_UUID(match->name.value), left->nodeid,
-			 match->delay, (list_empty(&match->working_list)) ?
+			 match->delay, (dm_list_empty(&match->working_list)) ?
 			 " -- working_list empty": "");
 	}
 
@@ -1344,10 +1340,9 @@
 		 */
 
 		i = 1; /* We do not have a DM_ULOG_MEMBER_JOIN entry of our own */
-		list_for_each_entry_safe(rq, n, &match->startup_list, list) {
+		dm_list_iterate_items(rq, &match->startup_list)
 			if (rq->u_rq.request_type == DM_ULOG_MEMBER_JOIN)
 				i++;
-		}
 
 		if (i == member_list_entries) {
 			/* 
@@ -1371,7 +1366,7 @@
 	struct clog_cpg *match, *tmp;
 	int found = 0;
 
-	list_for_each_entry_safe(match, tmp, &clog_cpg_list, list)
+	dm_list_iterate_items(match, &clog_cpg_list)
 		if (match->handle == handle) {
 			found = 1;
 			break;
@@ -1455,7 +1450,7 @@
 	struct clog_cpg *new = NULL;
 	struct clog_cpg *tmp, *tmp2;
 
-	list_for_each_entry_safe(tmp, tmp2, &clog_cpg_list, list)
+	dm_list_iterate_items(tmp, &clog_cpg_list)
 		if (!strncmp(tmp->name.value, uuid, CPG_MAX_NAME_LENGTH)) {
 			LOG_ERROR("Log entry already exists: %s", uuid);
 			return -EEXIST;
@@ -1467,10 +1462,10 @@
 		return -ENOMEM;
 	}
 	memset(new, 0, sizeof(*new));
-	INIT_LIST_HEAD(&new->list);
+	dm_list_init(&new->list);
 	new->lowest_id = 0xDEAD;
-	INIT_LIST_HEAD(&new->startup_list);
-	INIT_LIST_HEAD(&new->working_list);
+	dm_list_init(&new->startup_list);
+	dm_list_init(&new->working_list);
 
 	size = ((strlen(uuid) + 1) > CPG_MAX_NAME_LENGTH) ?
 		CPG_MAX_NAME_LENGTH : (strlen(uuid) + 1);
@@ -1501,7 +1496,7 @@
 	}
 
 	new->cpg_state = VALID;
-	list_add(&new->list, &clog_cpg_list);
+	dm_list_add(&clog_cpg_list, &new->list);
 	LOG_DBG("New   handle: %llu", (unsigned long long)new->handle);
 	LOG_DBG("New   name: %s", new->name.value);
 
@@ -1519,8 +1514,8 @@
 	LOG_DBG("[%s]  CPG teardown before checkpoint received",
 		SHORT_UUID(del->name.value));
 
-	list_for_each_entry_safe(rq, n, &del->startup_list, list) {
-		list_del_init(&rq->list);
+	dm_list_iterate_items_safe(rq, n, &del->startup_list) {
+		dm_list_del(&rq->list);
 
 		LOG_DBG("[%s]  Ignoring request from %u: %s",
 			SHORT_UUID(del->name.value), rq->originator,
@@ -1563,7 +1558,7 @@
 	 * startup list.  If so, we certainly don't want to
 	 * clear the startup_list here by calling abort_startup
 	 */
-	if (!list_empty(&del->startup_list) && (state != VALID))
+	if (!dm_list_empty(&del->startup_list) && (state != VALID))
 		abort_startup(del);
 
 	r = cpg_leave(del->handle, &del->name);
@@ -1576,7 +1571,7 @@
 {
 	struct clog_cpg *del, *tmp;
 
-	list_for_each_entry_safe(del, tmp, &clog_cpg_list, list)
+	dm_list_iterate_items_safe(del, tmp, &clog_cpg_list)
 		if (!strncmp(del->name.value, uuid, CPG_MAX_NAME_LENGTH))
 			_destroy_cluster_cpg(del);
 
@@ -1587,7 +1582,7 @@
 {
 	SaAisErrorT rv;
 
-	INIT_LIST_HEAD(&clog_cpg_list);
+	dm_list_init(&clog_cpg_list);
 	rv = saCkptInitialize(&ckpt_handle, &callbacks, &version);
 
 	if (rv != SA_AIS_OK)
@@ -1614,7 +1609,7 @@
 
 	LOG_ERROR("");
 	LOG_ERROR("CLUSTER COMPONENT DEBUGGING::");
-	list_for_each_entry_safe(entry, tmp, &clog_cpg_list, list) {
+	dm_list_iterate_items(entry, &clog_cpg_list) {
 		LOG_ERROR("%s::", SHORT_UUID(entry->name.value));
 		LOG_ERROR("  lowest_id         : %u", entry->lowest_id);
 		LOG_ERROR("  state             : %s", (entry->state == INVALID) ?
@@ -1633,16 +1628,14 @@
 				break;
 		LOG_ERROR("  CKPTs waiting     : %d", i);
 		LOG_ERROR("  Working list:");
-		list_for_each_entry_safe(rq, n, &entry->working_list, list) {
+		dm_list_iterate_items(rq, &entry->working_list)
 			LOG_ERROR("  %s/%u", _RQ_TYPE(rq->u_rq.request_type),
 				  rq->u_rq.seq);
-		}
 
 		LOG_ERROR("  Startup list:");
-		list_for_each_entry_safe(rq, n, &entry->startup_list, list) {
+		dm_list_iterate_items(rq, &entry->startup_list)
 			LOG_ERROR("  %s/%u", _RQ_TYPE(rq->u_rq.request_type),
 				  rq->u_rq.seq);
-		}
 
 		LOG_ERROR("Command History:");
 		for (i = 0; i < DEBUGGING_HISTORY; i++) {
--- LVM2/daemons/clogd/cluster.h	2009/07/28 15:55:50	1.3
+++ LVM2/daemons/clogd/cluster.h	2009/07/28 21:14:12	1.4
@@ -1,7 +1,7 @@
 #ifndef __CLUSTER_LOG_CLUSTER_DOT_H__
 #define __CLUSTER_LOG_CLUSTER_DOT_H__
 
-#include "list.h"
+#include <libdevmapper.h>
 #include <linux/dm-log-userspace.h>
 
 /*
@@ -12,7 +12,7 @@
  * available.
  */
 struct clog_request {
-	struct list_head list;
+	struct dm_list list;
 
 	/*
 	 * 'originator' is the machine from which the requests
--- LVM2/daemons/clogd/functions.c	2009/07/28 15:55:50	1.5
+++ LVM2/daemons/clogd/functions.c	2009/07/28 21:14:12	1.6
@@ -13,7 +13,6 @@
 #include <fcntl.h>
 #include <time.h>
 #include "linux/dm-log-userspace.h"
-#include "list.h"
 #include "functions.h"
 #include "common.h"
 #include "cluster.h"
@@ -46,7 +45,7 @@
 };
 
 struct log_c {
-	struct list_head list;
+	struct dm_list list;
 
 	char uuid[DM_UUID_LEN];
 	uint64_t luid;
@@ -76,7 +75,7 @@
 
 	uint32_t state;         /* current operational state of the log */
 
-	struct list_head mark_list;
+	struct dm_list mark_list;
 
 	uint32_t recovery_halted;
 	struct recovery_request *recovery_request_list;
@@ -91,7 +90,7 @@
 };
 
 struct mark_entry {
-	struct list_head list;
+	struct dm_list list;
 	uint32_t nodeid;
 	uint64_t region;
 };
@@ -101,9 +100,8 @@
 	struct recovery_request *next;
 };
 
-static struct list_head log_list = LIST_HEAD_INIT(log_list);
-static struct list_head log_pending_list = LIST_HEAD_INIT(log_pending_list);
-
+static DM_LIST_INIT(log_list);
+static DM_LIST_INIT(log_pending_list);
 
 static int log_test_bit(uint32_t *bs, unsigned bit)
 {
@@ -151,16 +149,12 @@
  */
 static struct log_c *get_log(const char *uuid, uint64_t luid)
 {
-	struct list_head *l;
 	struct log_c *lc;
 
-	/* FIXME: Need prefetch to do this right */
-	__list_for_each(l, &log_list) {
-		lc = list_entry(l, struct log_c, list);
+	dm_list_iterate_items(lc, &log_list)
 		if (!strcmp(lc->uuid, uuid) &&
 		    (!luid || (luid == lc->luid)))
 			return lc;
-	}
 
 	return NULL;
 }
@@ -175,16 +169,12 @@
  */
 static struct log_c *get_pending_log(const char *uuid, uint64_t luid)
 {
-	struct list_head *l;
 	struct log_c *lc;
 
-	/* FIXME: Need prefetch to do this right */
-	__list_for_each(l, &log_pending_list) {
-		lc = list_entry(l, struct log_c, list);
+	dm_list_iterate_items(lc, &log_pending_list)
 		if (!strcmp(lc->uuid, uuid) &&
 		    (!luid || (luid == lc->luid)))
 			return lc;
-	}
 
 	return NULL;
 }
@@ -459,7 +449,7 @@
 		return -EINVAL;
 	}
 
-	INIT_LIST_HEAD(&lc->mark_list);
+	dm_list_init(&lc->mark_list);
 
 	lc->bitset_uint32_count = region_count / 
 		(sizeof(*lc->clean_bits) << BYTE_SHIFT);
@@ -513,7 +503,7 @@
 		LOG_DBG("Disk log ready");
 	}
 
-	list_add(&lc->list, &log_pending_list);
+	dm_list_add(&log_pending_list, &lc->list);
 
 	return 0;
 fail:
@@ -634,7 +624,7 @@
 
 	LOG_DBG("[%s] Cluster log removed", SHORT_UUID(lc->uuid));
 
-	list_del_init(&lc->list);
+	dm_list_del(&lc->list);
 	if (lc->disk_fd != -1)
 		close(lc->disk_fd);
 	if (lc->disk_buffer)
@@ -705,8 +695,8 @@
 	lc->resume_override = 0;
 
 	/* move log to pending list */
-	list_del_init(&lc->list);
-	list_add(&lc->list, &log_pending_list);
+	dm_list_del(&lc->list);
+	dm_list_add(&log_pending_list, &lc->list);
 
 	return 0;
 }
@@ -894,8 +884,8 @@
 		}
 
 		/* move log to official list */
-		list_del_init(&lc->list);
-		list_add(&lc->list, &log_list);
+		dm_list_del(&lc->list);
+		dm_list_add(&log_list, &lc->list);
 	}
 
 	return 0;
@@ -1030,17 +1020,13 @@
 {
 	int found = 0;
 	struct mark_entry *m;
-	struct list_head *p, *n;
 
-	list_for_each_safe(p, n, &lc->mark_list) {
-		/* FIXME: Use proper macros */
-		m = (struct mark_entry *)p;
+	dm_list_iterate_items(m, &lc->mark_list)
 		if (m->region == region) {
 			found = 1;
 			if (m->nodeid == who)
 				return 0;
 		}
-	}
 
 	if (!found)
 		log_clear_bit(lc, lc->clean_bits, region);
@@ -1058,7 +1044,7 @@
 
 	m->nodeid = who;
 	m->region = region;
-	list_add_tail(&m->list, &lc->mark_list);
+	dm_list_add(&lc->mark_list, &m->list);
 
 	return 0;
 }
@@ -1104,20 +1090,16 @@
 static int clear_region(struct log_c *lc, uint64_t region, uint32_t who)
 {
 	int other_matches = 0;
-	struct mark_entry *m;
-	struct list_head *p, *n;
+	struct mark_entry *m, *n;
 
-	list_for_each_safe(p, n, &lc->mark_list) {
-		/* FIXME: Use proper macros */
-		m = (struct mark_entry *)p;
+	dm_list_iterate_items_safe(m, n, &lc->mark_list)
 		if (m->region == region) {
 			if (m->nodeid == who) {
-				list_del_init(&m->list);
+				dm_list_del(&m->list);
 				free(m);
 			} else
 				other_matches = 1;
 		}
-	}			
 
 	/*
 	 * Clear region if:
@@ -1805,12 +1787,7 @@
  */
 int log_status(void)
 {
-	struct list_head *l;
-
-	__list_for_each(l, &log_list)
-		return 1;
-
-	__list_for_each(l, &log_pending_list)
+	if (!dm_list_empty(&log_list) || !dm_list_empty(&log_pending_list))
 		return 1;
 
 	return 0;
@@ -1818,7 +1795,6 @@
 
 void log_debug(void)
 {
-	struct list_head *l;
 	struct log_c *lc;
 	uint64_t r;
 	int i;
@@ -1827,8 +1803,7 @@
 	LOG_ERROR("LOG COMPONENT DEBUGGING::");
 	LOG_ERROR("Official log list:");
 	LOG_ERROR("Pending log list:");
-	__list_for_each(l, &log_pending_list) {
-		lc = list_entry(l, struct log_c, list);
+	dm_list_iterate_items(lc, &log_pending_list) {
 		LOG_ERROR("%s", lc->uuid);
 		LOG_ERROR("sync_bits:");
 		print_bits((char *)lc->sync_bits,
@@ -1838,8 +1813,7 @@
 			   lc->bitset_uint32_count * sizeof(*lc->clean_bits), 1);
 	}
 
-	__list_for_each(l, &log_list) {
-		lc = list_entry(l, struct log_c, list);
+	dm_list_iterate_items(lc, &log_list) {
 		LOG_ERROR("%s", lc->uuid);
 		LOG_ERROR("  recoverer        : %u", lc->recoverer);
 		LOG_ERROR("  recovering_region: %llu",
@@ -1853,7 +1827,6 @@
 		print_bits((char *)lc->clean_bits,
 			   lc->bitset_uint32_count * sizeof(*lc->clean_bits), 1);
 
-		lc = list_entry(l, struct log_c, list);
 		LOG_ERROR("Validating %s::", SHORT_UUID(lc->uuid));
 		r = find_next_zero_bit(lc->sync_bits, lc->region_count, 0);
 		LOG_ERROR("  lc->region_count = %llu",
--- LVM2/daemons/clogd/logging.h	2009/07/21 15:34:53	1.2
+++ LVM2/daemons/clogd/logging.h	2009/07/28 21:14:12	1.3
@@ -4,30 +4,6 @@
 #include <stdio.h>
 #include <syslog.h>
 
-#if (BITS_PER_LONG == 64)
-#define PRIu64 "lu"
-#define PRId64 "ld"
-#define PRIo64 "lo"
-#define PRIx64 "lx"
-#define PRIX64 "lX"
-#define SCNu64 "lu"
-#define SCNd64 "ld"
-#define SCNo64 "lo"
-#define SCNx64 "lx"
-#define SCNX64 "lX"
-#else
-#define PRIu64 "Lu"
-#define PRId64 "Ld"
-#define PRIo64 "Lo"
-#define PRIx64 "Lx"
-#define PRIX64 "LX"
-#define SCNu64 "Lu"
-#define SCNd64 "Ld"
-#define SCNo64 "Lo"
-#define SCNx64 "Lx"
-#define SCNX64 "LX"
-#endif
-
 /* SHORT_UUID - print last 8 chars of a string */
 #define SHORT_UUID(x) (strlen(x) > 8) ? ((x) + (strlen(x) - 8)) : (x)
 



                 reply	other threads:[~2009-07-28 21:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=20090728211414.3824.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.