cluster: STABLE3 - dlm_controld/libdlmcontrol/dlm_tool: separate plock debug buffer

David Teigland teigland at fedoraproject.org
Tue Mar 23 20:11:13 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=ac01c1edf361561e9831b36f33c10f60d8aa0742
Commit:        ac01c1edf361561e9831b36f33c10f60d8aa0742
Parent:        814faae67c226f6ac9e99438096696479c8aaf2e
Author:        David Teigland <teigland at redhat.com>
AuthorDate:    Tue Mar 23 12:28:04 2010 -0500
Committer:     David Teigland <teigland at redhat.com>
CommitterDate: Tue Mar 23 15:09:59 2010 -0500

dlm_controld/libdlmcontrol/dlm_tool: separate plock debug buffer

Add a new circular debug buffer for plock debug messages just
like the normal debug buffer.  This lets us do plock debugging
without pushing out all of the normal debugging.  New command
"dlm_tool log_plock" dumps the plock debug buffer.

bz 576322

Signed-off-by: David Teigland <teigland at redhat.com>
---
 dlm/libdlmcontrol/libdlmcontrol.h |    1 +
 dlm/libdlmcontrol/main.c          |    5 ++
 dlm/man/dlm_tool.8                |    4 ++
 dlm/tool/main.c                   |   25 ++++++++++-
 group/dlm_controld/dlm_controld.h |    1 +
 group/dlm_controld/dlm_daemon.h   |   30 ++++++++++--
 group/dlm_controld/main.c         |   60 ++++++++++++++++++++++--
 group/dlm_controld/plock.c        |   92 +++++++++++++++++++-----------------
 8 files changed, 164 insertions(+), 54 deletions(-)

diff --git a/dlm/libdlmcontrol/libdlmcontrol.h b/dlm/libdlmcontrol/libdlmcontrol.h
index c85bd3f..64a3814 100644
--- a/dlm/libdlmcontrol/libdlmcontrol.h
+++ b/dlm/libdlmcontrol/libdlmcontrol.h
@@ -66,6 +66,7 @@ struct dlmc_lockspace {
 #define DLMC_NODES_NEXT		3
 
 int dlmc_dump_debug(char *buf);
+int dlmc_dump_log_plock(char *buf);
 int dlmc_dump_plocks(char *name, char *buf);
 int dlmc_lockspace_info(char *lsname, struct dlmc_lockspace *ls);
 int dlmc_node_info(char *lsname, int nodeid, struct dlmc_node *node);
diff --git a/dlm/libdlmcontrol/main.c b/dlm/libdlmcontrol/main.c
index f2f6365..5a203a1 100644
--- a/dlm/libdlmcontrol/main.c
+++ b/dlm/libdlmcontrol/main.c
@@ -134,6 +134,11 @@ int dlmc_dump_debug(char *buf)
 	return do_dump(DLMC_CMD_DUMP_DEBUG, NULL, buf);
 }
 
+int dlmc_dump_log_plock(char *buf)
+{
+	return do_dump(DLMC_CMD_DUMP_LOG_PLOCK, NULL, buf);
+}
+
 int dlmc_dump_plocks(char *name, char *buf)
 {
 	return do_dump(DLMC_CMD_DUMP_PLOCKS, name, buf);
diff --git a/dlm/man/dlm_tool.8 b/dlm/man/dlm_tool.8
index 5e61567..df9aa64 100644
--- a/dlm/man/dlm_tool.8
+++ b/dlm/man/dlm_tool.8
@@ -20,6 +20,10 @@ Display internal dlm_controld state about lockspaces.
 Dump dlm_controld debug buffer.
 
 .TP
+.B log_plock
+Dump dlm_controld plock debug buffer.
+
+.TP
 .BI plocks " name"
 Dump posix locks from dlm_controld for the lockspace.
 
diff --git a/dlm/tool/main.c b/dlm/tool/main.c
index 3f46179..4752008 100644
--- a/dlm/tool/main.c
+++ b/dlm/tool/main.c
@@ -28,6 +28,7 @@
 #define OP_PLOCKS			7
 #define OP_LOCKDUMP			8
 #define OP_LOCKDEBUG			9
+#define OP_LOG_PLOCK			10
 
 static char *prog_name;
 static char *lsname;
@@ -171,7 +172,8 @@ static void print_usage(void)
 	printf("Usage:\n");
 	printf("\n");
 	printf("dlm_tool [options] [join | leave | lockdump | lockdebug |\n"
-	       "                    ls | dump | plocks | deadlock_check]\n");
+	       "                    ls | dump | log_plock | plocks |\n"
+	       "                    deadlock_check]\n");
 	printf("\n");
 	printf("Options:\n");
 	printf("  -n               Show all node information in ls\n");
@@ -321,6 +323,12 @@ static void decode_arguments(int argc, char **argv)
 			operation = OP_PLOCKS;
 			opt_ind = optind + 1;
 			break;
+		} else if (!strncmp(argv[optind], "log_plock", 9) &&
+			   (strlen(argv[optind]) == 9)) {
+			operation = OP_LOG_PLOCK;
+			opt_ind = optind + 1;
+			need_lsname = 0;
+			break;
 		}
 
 		/*
@@ -1246,6 +1254,17 @@ static void do_dump(void)
 	do_write(STDOUT_FILENO, buf, strlen(buf));
 }
 
+static void do_log_plock(void)
+{
+	char buf[DLMC_DUMP_SIZE];
+
+	memset(buf, 0, sizeof(buf));
+
+	dlmc_dump_log_plock(buf);
+
+	do_write(STDOUT_FILENO, buf, strlen(buf));
+}
+
 int main(int argc, char **argv)
 {
 	prog_name = argv[0];
@@ -1278,6 +1297,10 @@ int main(int argc, char **argv)
 		do_dump();
 		break;
 
+	case OP_LOG_PLOCK:
+		do_log_plock();
+		break;
+
 	case OP_PLOCKS:
 		do_plocks(lsname);
 		break;
diff --git a/group/dlm_controld/dlm_controld.h b/group/dlm_controld/dlm_controld.h
index b02bc42..73e4ecc 100644
--- a/group/dlm_controld/dlm_controld.h
+++ b/group/dlm_controld/dlm_controld.h
@@ -20,6 +20,7 @@
 #define DLMC_CMD_FS_UNREGISTER		8
 #define DLMC_CMD_FS_NOTIFIED		9
 #define DLMC_CMD_DEADLOCK_CHECK		10
+#define DLMC_CMD_DUMP_LOG_PLOCK		11
 
 struct dlmc_header {
 	unsigned int magic;
diff --git a/group/dlm_controld/dlm_daemon.h b/group/dlm_controld/dlm_daemon.h
index dd6c7cc..b61a636 100644
--- a/group/dlm_controld/dlm_daemon.h
+++ b/group/dlm_controld/dlm_daemon.h
@@ -85,10 +85,6 @@ extern int plock_ci;
 extern struct list_head lockspaces;
 extern int cluster_quorate;
 extern int our_nodeid;
-extern char daemon_debug_buf[256];
-extern char dump_buf[DLMC_DUMP_SIZE];
-extern int dump_point;
-extern int dump_wrap;
 extern char plock_dump_buf[DLMC_DUMP_SIZE];
 extern int plock_dump_len;
 extern int group_mode;
@@ -97,7 +93,20 @@ extern uint32_t monitor_minor;
 extern uint32_t plock_minor;
 extern uint32_t old_plock_minor;
 
+/* circular buffer of log_debug and log_error messages */
+extern char daemon_debug_buf[256];
+extern char dump_buf[DLMC_DUMP_SIZE];
+extern int dump_point;
+extern int dump_wrap;
+
+/* circular buffer of log_plock messages */
+extern char log_plock_line[256];
+extern char log_plock_buf[DLMC_DUMP_SIZE];
+extern int log_plock_point;
+extern int log_plock_wrap;
+
 void daemon_dump_save(void);
+void log_plock_save(void);
 
 #define log_level(lvl, fmt, args...) \
 do { \
@@ -123,10 +132,19 @@ do { \
 
 #define log_plock(ls, fmt, args...) \
 do { \
-	snprintf(daemon_debug_buf, 255, "%ld %s " fmt "\n", time(NULL), \
+	snprintf(log_plock_line, 255, "%ld %s " fmt "\n", time(NULL), \
 		 (ls)->name, ##args); \
+	log_plock_save(); \
 	if (daemon_debug_opt && cfgd_plock_debug) \
-		fprintf(stderr, "%s", daemon_debug_buf); \
+		fprintf(stderr, "%s", log_plock_line); \
+} while (0)
+
+#define log_plock_error(ls, fmt, args...) \
+do { \
+	log_level(LOG_ERR, fmt, ##args); \
+	snprintf(log_plock_line, 255, "%ld %s " fmt "\n", time(NULL), \
+		 (ls)->name, ##args); \
+	log_plock_save(); \
 } while (0)
 
 /* dlm_header types */
diff --git a/group/dlm_controld/main.c b/group/dlm_controld/main.c
index af96527..ce88a83 100644
--- a/group/dlm_controld/main.c
+++ b/group/dlm_controld/main.c
@@ -443,6 +443,35 @@ static void query_dump_debug(int fd)
 	do_write(fd, dump_buf, len);
 }
 
+static void query_dump_log_plock(int fd)
+{
+	struct dlmc_header h;
+	int extra_len;
+	int len;
+
+	/* in the case of dump_wrap, extra_len will go in two writes,
+	   first the log tail, then the log head */
+	if (log_plock_wrap)
+		extra_len = DLMC_DUMP_SIZE;
+	else
+		extra_len = log_plock_point;
+
+	init_header(&h, DLMC_CMD_DUMP_LOG_PLOCK, NULL, 0, extra_len);
+	do_write(fd, &h, sizeof(h));
+
+	if (log_plock_wrap) {
+		len = DLMC_DUMP_SIZE - log_plock_point;
+		do_write(fd, log_plock_buf + log_plock_point, len);
+		len = log_plock_point;
+	} else
+		len = log_plock_point;
+
+	/* NUL terminate the debug string */
+	log_plock_buf[log_plock_point] = '\0';
+
+	do_write(fd, log_plock_buf, len);
+}
+
 static void query_dump_plocks(int fd, char *name)
 {
 	struct lockspace *ls;
@@ -804,6 +833,9 @@ static void *process_queries(void *arg)
 		case DLMC_CMD_DUMP_DEBUG:
 			query_dump_debug(f);
 			break;
+		case DLMC_CMD_DUMP_LOG_PLOCK:
+			query_dump_log_plock(f);
+			break;
 		case DLMC_CMD_DUMP_PLOCKS:
 			query_dump_plocks(f, h.name);
 			break;
@@ -1314,6 +1346,22 @@ void daemon_dump_save(void)
 	}
 }
 
+void log_plock_save(void)
+{
+	int len, i;
+
+	len = strlen(log_plock_line);
+
+	for (i = 0; i < len; i++) {
+		log_plock_buf[log_plock_point++] = log_plock_line[i];
+
+		if (log_plock_point == DLMC_DUMP_SIZE) {
+			log_plock_point = 0;
+			log_plock_wrap = 1;
+		}
+	}
+}
+
 int daemon_debug_opt;
 int daemon_quit;
 int cluster_down;
@@ -1327,10 +1375,6 @@ int plock_ci;
 struct list_head lockspaces;
 int cluster_quorate;
 int our_nodeid;
-char daemon_debug_buf[256];
-char dump_buf[DLMC_DUMP_SIZE];
-int dump_point;
-int dump_wrap;
 char plock_dump_buf[DLMC_DUMP_SIZE];
 int plock_dump_len;
 int group_mode;
@@ -1338,6 +1382,14 @@ uint32_t control_minor;
 uint32_t monitor_minor;
 uint32_t plock_minor;
 uint32_t old_plock_minor;
+char daemon_debug_buf[256];
+char dump_buf[DLMC_DUMP_SIZE];
+int dump_point;
+int dump_wrap;
+char log_plock_line[256];
+char log_plock_buf[DLMC_DUMP_SIZE];
+int log_plock_point;
+int log_plock_wrap;
 
 /* was a config value set on command line?, 0 or 1.
    optk is a kernel option, optd is a daemon option */
diff --git a/group/dlm_controld/plock.c b/group/dlm_controld/plock.c
index 54f91ef..3f20f7f 100644
--- a/group/dlm_controld/plock.c
+++ b/group/dlm_controld/plock.c
@@ -262,7 +262,7 @@ static int find_resource(struct lockspace *ls, uint64_t number, int create,
 
 	r = malloc(sizeof(struct resource));
 	if (!r) {
-		log_error("find_resource no memory %d", errno);
+		log_plock_error(ls, "find_resource no memory %d", errno);
 		rv = -ENOMEM;
 		goto out;
 	}
@@ -750,7 +750,7 @@ static void save_message(struct lockspace *ls, struct dlm_header *hd, int len,
 	sm->len = len;
 	sm->nodeid = from;
 
-	log_group(ls, "save %s from %d len %d", msg_name(type), from, len);
+	log_plock(ls, "save %s from %d len %d", msg_name(type), from, len);
 
 	list_add_tail(&sm->list, &ls->saved_messages);
 }
@@ -771,7 +771,8 @@ static void __receive_plock(struct lockspace *ls, struct dlm_plock_info *in,
 		do_get(ls, in, r);
 		break;
 	default:
-		log_error("receive_plock from %d optype %d", from, in->optype);
+		log_plock_error(ls, "receive_plock error from %d optype %d",
+				from, in->optype);
 		if (from == our_nodeid)
 			write_result(ls, in, -EINVAL);
 	}
@@ -811,7 +812,7 @@ static void _receive_plock(struct lockspace *ls, struct dlm_header *hd, int len)
 	if (!(plock_recv_count % 1000)) {
 		gettimeofday(&now, NULL);
 		usec = dt_usec(&plock_recv_time, &now);
-		log_group(ls, "plock_recv_count %u time %.3f s",
+		log_plock(ls, "plock_recv_count %u time %.3f s",
 			  plock_recv_count, usec * 1.e-6);
 		plock_recv_time = now;
 	}
@@ -820,8 +821,8 @@ static void _receive_plock(struct lockspace *ls, struct dlm_header *hd, int len)
 		return;
 
 	if (from != hd->nodeid || from != info.nodeid) {
-		log_error("receive_plock from %d header %d info %d",
-			  from, hd->nodeid, info.nodeid);
+		log_plock_error(ls, "receive_plock error from %d header %d info %d",
+				from, hd->nodeid, info.nodeid);
 		return;
 	}
 
@@ -835,7 +836,7 @@ static void _receive_plock(struct lockspace *ls, struct dlm_header *hd, int len)
 		   who sent the plock, we need to send_own() and put it on the
 		   pending list to resend once the owner is established. */
 
-		log_debug("receive_plock from %d no r %llx", from,
+		log_plock(ls, "receive_plock from %d no r %llx", from,
 			  (unsigned long long)info.number);
 
 		if (from != our_nodeid)
@@ -852,8 +853,8 @@ static void _receive_plock(struct lockspace *ls, struct dlm_header *hd, int len)
 		/* r not found, rv is -ENOENT, this shouldn't happen because
 		   process_plocks() creates a resource for every op */
 
-		log_error("receive_plock from %d no r %llx %d", from,
-			  (unsigned long long)info.number, rv);
+		log_plock_error(ls, "receive_plock error from %d no r %llx %d",
+				from, (unsigned long long)info.number, rv);
 		return;
 	}
 
@@ -883,23 +884,21 @@ static void _receive_plock(struct lockspace *ls, struct dlm_header *hd, int len)
 		__receive_plock(ls, &info, from, r);
 
 	} else if (r->owner == -1) {
-		log_debug("receive_plock from %d r %llx owner %d", from,
+		log_plock(ls, "receive_plock from %d r %llx owner %d", from,
 			  (unsigned long long)info.number, r->owner);
 
 		if (from == our_nodeid)
 			save_pending_plock(ls, r, &info);
 
 	} else if (r->owner != our_nodeid) {
-		/* might happen, if frequent change to log_debug */
-		log_error("receive_plock from %d r %llx owner %d", from,
+		log_plock(ls, "receive_plock from %d r %llx owner %d", from,
 			  (unsigned long long)info.number, r->owner);
 
 		if (from == our_nodeid)
 			save_pending_plock(ls, r, &info);
 
 	} else if (r->owner == our_nodeid) {
-		/* might happen, if frequent change to log_debug */
-		log_error("receive_plock from %d r %llx owner %d", from,
+		log_plock(ls, "receive_plock from %d r %llx owner %d", from,
 			  (unsigned long long)info.number, r->owner);
 
 		if (from == our_nodeid)
@@ -944,7 +943,7 @@ static int send_struct_info(struct lockspace *ls, struct dlm_plock_info *in,
 	free(buf);
  out:
 	if (rv)
-		log_error("send_struct_info error %d", rv);
+		log_plock_error(ls, "send_struct_info error %d", rv);
 	return rv;
 }
 
@@ -962,7 +961,7 @@ static void send_own(struct lockspace *ls, struct resource *r, int owner)
 	   (pending list is not empty), then we shouldn't send another */
 
 	if (!list_empty(&r->pending)) {
-		log_debug("send_own %llx already pending",
+		log_plock(ls, "send_own %llx already pending",
 			  (unsigned long long)r->number);
 		return;
 	}
@@ -1031,7 +1030,7 @@ static void save_pending_plock(struct lockspace *ls, struct resource *r,
 
 	w = malloc(sizeof(struct lock_waiter));
 	if (!w) {
-		log_error("save_pending_plock no mem");
+		log_plock_error(ls, "save_pending_plock no mem");
 		return;
 	}
 	memcpy(&w->info, in, sizeof(struct dlm_plock_info));
@@ -1077,7 +1076,7 @@ static void _receive_own(struct lockspace *ls, struct dlm_header *hd, int len)
 	memcpy(&info, (char *)hd + sizeof(struct dlm_header), sizeof(info));
 	info_bswap_in(&info);
 
-	log_plock(ls, "receive own %llx from %u owner %u",
+	log_plock(ls, "receive_own %llx from %u owner %u",
 		  (unsigned long long)info.number, hd->nodeid, info.nodeid);
 
 	rv = find_resource(ls, info.number, 1, &r);
@@ -1180,9 +1179,10 @@ static void _receive_own(struct lockspace *ls, struct dlm_header *hd, int len)
 	}
 
 	if (should_not_happen) {
-		log_error("receive_own from %u %llx info nodeid %d r owner %d",
-			  from, (unsigned long long)r->number, info.nodeid,
-			  r->owner);
+		log_plock_error(ls, "receive_own error from %u %llx "
+				"info nodeid %d r owner %d",
+			  	from, (unsigned long long)r->number,
+				info.nodeid, r->owner);
 	}
 }
 
@@ -1196,7 +1196,8 @@ void receive_own(struct lockspace *ls, struct dlm_header *hd, int len)
 	_receive_own(ls, hd, len);
 }
 
-static void clear_syncing_flag(struct resource *r, struct dlm_plock_info *in)
+static void clear_syncing_flag(struct lockspace *ls, struct resource *r,
+			       struct dlm_plock_info *in)
 {
 	struct posix_lock *po;
 	struct lock_waiter *w;
@@ -1227,10 +1228,14 @@ static void clear_syncing_flag(struct resource *r, struct dlm_plock_info *in)
 		}
 	}
 
-	log_error("clear_syncing %llx no match %s %llx-%llx %d/%u/%llx",
-		  (unsigned long long)r->number, in->ex ? "WR" : "RD", 
-		  (unsigned long long)in->start, (unsigned long long)in->end,
-		  in->nodeid, in->pid, (unsigned long long)in->owner);
+	log_plock_error(ls, "clear_syncing error %llx no match %s %llx-%llx "
+			"%d/%u/%llx",
+			(unsigned long long)r->number,
+			in->ex ? "WR" : "RD", 
+			(unsigned long long)in->start,
+			(unsigned long long)in->end,
+			in->nodeid, in->pid,
+			(unsigned long long)in->owner);
 }
 
 static void _receive_sync(struct lockspace *ls, struct dlm_header *hd, int len)
@@ -1250,13 +1255,14 @@ static void _receive_sync(struct lockspace *ls, struct dlm_header *hd, int len)
 
 	rv = find_resource(ls, info.number, 0, &r);
 	if (rv) {
-		log_error("receive_sync no r %llx from %d", info.number, from);
+		log_plock_error(ls, "receive_sync error no r %llx from %d",
+				info.number, from);
 		return;
 	}
 
 	if (from == our_nodeid) {
 		/* this plock now in sync on all nodes */
-		clear_syncing_flag(r, &info);
+		clear_syncing_flag(ls, r, &info);
 		return;
 	}
 
@@ -1287,13 +1293,13 @@ static void _receive_drop(struct lockspace *ls, struct dlm_header *hd, int len)
 	memcpy(&info, (char *)hd + sizeof(struct dlm_header), sizeof(info));
 	info_bswap_in(&info);
 
-	log_plock(ls, "receive drop %llx from %u",
+	log_plock(ls, "receive_drop %llx from %u",
 		  (unsigned long long)info.number, from);
 
 	rv = find_resource(ls, info.number, 0, &r);
 	if (rv) {
 		/* we'll find no r if two nodes sent drop at once */
-		log_debug("receive_drop from %d no r %llx", from,
+		log_plock(ls, "receive_drop from %d no r %llx", from,
 			  (unsigned long long)info.number);
 		return;
 	}
@@ -1304,15 +1310,15 @@ static void _receive_drop(struct lockspace *ls, struct dlm_header *hd, int len)
 	   	   - A sent drop, B sent drop, receive drop A, A sent own,
 		     receive own A, receive drop B (this warning on all,
 		     owner A) */
-		log_debug("receive_drop from %d r %llx owner %d", from,
+		log_plock(ls, "receive_drop from %d r %llx owner %d", from,
 			  (unsigned long long)r->number, r->owner);
 		return;
 	}
 
 	if (!list_empty(&r->pending)) {
 		/* shouldn't happen */
-		log_error("receive_drop from %d r %llx pending op", from,
-			  (unsigned long long)r->number);
+		log_plock_error(ls, "receive_drop error from %d r %llx pending op",
+				from, (unsigned long long)r->number);
 		return;
 	}
 
@@ -1324,7 +1330,7 @@ static void _receive_drop(struct lockspace *ls, struct dlm_header *hd, int len)
 		free(r);
 	} else {
 		/* A sent drop, B sent a plock, receive plock, receive drop */
-		log_debug("receive_drop from %d r %llx in use", from,
+		log_plock(ls, "receive_drop from %d r %llx in use", from,
 			  (unsigned long long)r->number);
 	}
 }
@@ -1478,7 +1484,7 @@ void process_plocks(int ci)
 
 	ls = find_ls_id(info.fsid);
 	if (!ls) {
-		log_debug("process_plocks: no ls id %x", info.fsid);
+		log_plock(ls, "process_plocks: no ls id %x", info.fsid);
 		rv = -EEXIST;
 		goto fail;
 	}
@@ -1495,7 +1501,7 @@ void process_plocks(int ci)
 	plock_read_count++;
 	if (!(plock_read_count % 1000)) {
 		usec = dt_usec(&plock_read_time, &now) ;
-		log_group(ls, "plock_read_count %u time %.3f s delays %u",
+		log_plock(ls, "plock_read_count %u time %.3f s delays %u",
 			  plock_read_count, usec * 1.e-6, plock_rate_delays);
 		plock_read_time = now;
 		plock_rate_delays = 0;
@@ -1538,7 +1544,7 @@ void process_saved_plocks(struct lockspace *ls)
 	if (list_empty(&ls->saved_messages))
 		return;
 
-	log_group(ls, "process_saved_plocks");
+	log_plock(ls, "process_saved_plocks");
 
 	list_for_each_entry_safe(sm, sm2, &ls->saved_messages, list) {
 		hd = (struct dlm_header *)sm->buf;
@@ -1908,8 +1914,8 @@ void store_plocks(struct lockspace *ls)
 		else if (!r->owner)
 			owner = 0;
 		else {
-			log_error("store_plocks owner %d r %llx", r->owner,
-				  (unsigned long long)r->number);
+			log_plock_error(ls, "store_plocks error owner %d r %llx",
+					r->owner, (unsigned long long)r->number);
 			continue;
 		}
 
@@ -1927,7 +1933,7 @@ void store_plocks(struct lockspace *ls)
 
 		pack_section_buf(ls, r);
 
-		log_group(ls, "store_plocks: section size %u id %u \"%s\"",
+		log_plock(ls, "store_plocks: section size %u id %u \"%s\"",
 			  section_len, section_id.idLen, buf);
 
 	 create_retry:
@@ -2035,7 +2041,7 @@ void retrieve_plocks(struct lockspace *ls)
 		memset(&buf, 0, sizeof(buf));
 		snprintf(buf, SECTION_NAME_LEN, "%s", desc.sectionId.id);
 
-		log_group(ls, "retrieve_plocks: section size %llu id %u \"%s\"",
+		log_plock(ls, "retrieve_plocks: section size %llu id %u \"%s\"",
 			  (unsigned long long)iov.dataSize, iov.sectionId.idLen,
 			  buf);
 
@@ -2056,7 +2062,7 @@ void retrieve_plocks(struct lockspace *ls)
 		   no locks, which exist in ownership mode; the resource
 		   name and owner come from the section id */
 
-		log_group(ls, "retrieve_plocks: ckpt read %llu bytes",
+		log_plock(ls, "retrieve_plocks: ckpt read %llu bytes",
 			  (unsigned long long)iov.readSize);
 		section_len = iov.readSize;
 
@@ -2129,7 +2135,7 @@ void purge_plocks(struct lockspace *ls, int nodeid, int unmount)
 	if (purged)
 		ls->last_plock_time = time(NULL);
 
-	log_group(ls, "purged %d plocks for %d", purged, nodeid);
+	log_plock(ls, "purged %d plocks for %d", purged, nodeid);
 }
 
 int fill_plock_dump_buf(struct lockspace *ls)


More information about the cluster-commits mailing list