[SCM] CTDB repository - branch master updated - ctdb-1.12-145-g809d1f3

Michael Adam obnox at samba.org
Fri Dec 23 09:44:23 MST 2011


The branch, master has been updated
       via  809d1f3b8a9232fce0376cb47e4f633b49237529 (commit)
       via  40ca781b3305d9f0bfee5b109d4eefde461a3f13 (commit)
       via  db59ac2ee6a9f5f7f088ebbc5e2800d9e57aae17 (commit)
       via  2c44c6dc583872c603a399afb01936abcbb05158 (commit)
       via  ae78e8d991636a3a79dd9fbcefc15032afb08f55 (commit)
       via  6e6aaba28ac560d51d7450ebcf99babf868d0aea (commit)
       via  772e08c29ef70a4cc73f7887939e5071a90a98cb (commit)
       via  bec2ff46402b6d90521c75e8d46b9f6f2f47239a (commit)
       via  4f23976fad3de63a47cf81d26dff1973d025e262 (commit)
       via  4ed94279f243729d521d365a44607fd086ae7c41 (commit)
       via  583cbf1bf8f6b1a805d77a2a1d521015868c7828 (commit)
       via  295168d99183d2d21f27a8ac6825d421fa866b28 (commit)
       via  d8ab86f0eb11437e50d18183858dd3177a8f61e6 (commit)
       via  1a7d9b25fdcf7b59598618d406c2a681c90d9163 (commit)
       via  07f1ba54b1617fadd6fe83826dd8e76f37cea071 (commit)
       via  1963e33859e9dc51e9e88664c6d95e62c7c8b8be (commit)
       via  11f52ba18370f1dda983f2263f9af82045b4fdea (commit)
       via  cf68b762432a18e4a3cda137591b3f005c196906 (commit)
       via  905fc9cd7126ab84c23d4a803c59e32b9c54e6f0 (commit)
       via  e31594e0c13899e88013ce7eb7e3dc434c2f0723 (commit)
       via  6596f2c4a6b4783b6498502fbbf50f87d4f59085 (commit)
       via  f686bc440560074c1ce866f2037ae3671f182185 (commit)
       via  09c55b76c96c4ab3fe812763007b81cf0a2ac86c (commit)
       via  019106e035520e6b3e5702b6e76d910626c3df13 (commit)
       via  48fe56ea27e3649ae7a67257fdce54f973e7c3c5 (commit)
       via  e71afbf731f06a3b89b64220c7fd1b1ea5492d4a (commit)
       via  8fc4d5018ee6eee8856634095694d3ad0de5b4ae (commit)
       via  ea3e640a28178ddcb85285f4efec62ccba2483d9 (commit)
       via  536aad024d52f2c32dd397fc86294c963b91341b (commit)
       via  0ed349c24c7399b3b440c1f5d573db77ddb988b3 (commit)
       via  7c5b27bc8dce9e30f2aff05297113da981f7b9a3 (commit)
       via  970b8fc60857ad2f18f45312d355c571fb2f0246 (commit)
       via  a5a29bf92b23e9b5a1523b06461eced422b22ffe (commit)
       via  78530f40338f511a7cd1d33ada450905742bfa8f (commit)
       via  1f62afbe1ae0b3e7dbad4081d1b51e3ab6ee5c39 (commit)
       via  e40fa9efd1c77aa35c917aba6e6e4d21d9c5cdea (commit)
       via  621c3ce957cb946ca05a2d527c037746ae2f01d3 (commit)
       via  d93750ea3f5cb854e5893e53795fd08656e7c12c (commit)
       via  489148e465e2b8aed87ea836e3518f43490671ca (commit)
       via  a5065b42a98c709173503e02d217f97792878625 (commit)
       via  8b0caaeed154d26c67a73659d3bbbdd63b21be11 (commit)
       via  6c4d1b768ccade344a7462ecad7cf5cbbf3873d4 (commit)
      from  00373958a5d5fb8c9b99548d5b9f327e78669162 (commit)

http://gitweb.samba.org/?p=ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 809d1f3b8a9232fce0376cb47e4f633b49237529
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 17:23:07 2011 +0100

    vacuum: improve logging in remove_record_from_delete_queue()

commit 40ca781b3305d9f0bfee5b109d4eefde461a3f13
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 17:22:46 2011 +0100

    vacuum: improve logging in delete_record_traverse()

commit db59ac2ee6a9f5f7f088ebbc5e2800d9e57aae17
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 17:10:20 2011 +0100

    vacuum: improve logging in insert_record_into_delete_queue()

commit 2c44c6dc583872c603a399afb01936abcbb05158
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 17:08:28 2011 +0100

    vacuum: improve debugging in delete_queue_traverse()

commit ae78e8d991636a3a79dd9fbcefc15032afb08f55
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 15:14:06 2011 +0100

    vacuum: add debug message to insert_record_into_delete_queue() for failed insert

commit 6e6aaba28ac560d51d7450ebcf99babf868d0aea
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 10:37:25 2011 +0100

    vacuum: improve debugging in insert_record_into_delete_queue()

commit 772e08c29ef70a4cc73f7887939e5071a90a98cb
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 23 00:14:18 2011 +0100

    vacuum: initialize (to zero) the vacuum fetch list in ctdb_vacuum_init_vacuum_data()

commit bec2ff46402b6d90521c75e8d46b9f6f2f47239a
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 15:46:49 2011 +0100

    vacuum: add statistics output for processing of the delete list

commit 4f23976fad3de63a47cf81d26dff1973d025e262
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:48:38 2011 +0100

    doc:ctdb.1: add generated files after update

commit 4ed94279f243729d521d365a44607fd086ae7c41
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 13:05:26 2011 +0100

    doc:ctdb.1: explain that "ctdb listvars" does not list obsolete tunables any more

commit 583cbf1bf8f6b1a805d77a2a1d521015868c7828
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:47:42 2011 +0100

    doc:ctdb.1: adapt example output of "ctdb listvars" to current state

commit 295168d99183d2d21f27a8ac6825d421fa866b28
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 12:13:10 2011 +0100

    ctdb-tool: adapt formatting of "listvars" output to lenght of longest name

commit d8ab86f0eb11437e50d18183858dd3177a8f61e6
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 12:52:55 2011 +0100

    tunables: don't list obsolete tunables in the list_tunables control

commit 1a7d9b25fdcf7b59598618d406c2a681c90d9163
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 12:46:04 2011 +0100

    tunables: add a bool obsolete flag to the tunable_map list

commit 07f1ba54b1617fadd6fe83826dd8e76f37cea071
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 20 15:58:34 2011 +0100

    vacuum: add a comment explaining a race in the vacuum code.

commit 1963e33859e9dc51e9e88664c6d95e62c7c8b8be
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 20 15:50:51 2011 +0100

    vacuum: factor out initialization of the vacuum data from ctdb_vacuum_db()
    
    for readability

commit 11f52ba18370f1dda983f2263f9af82045b4fdea
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 23:16:27 2011 +0100

    vacuum: streamline ctdb_process_delete_list()
    
    Reducing indentiation and improving use of talloc.

commit cf68b762432a18e4a3cda137591b3f005c196906
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 23:15:51 2011 +0100

    vacuum: factor processing of the delete list out of ctdb_vacuum_db()

commit 905fc9cd7126ab84c23d4a803c59e32b9c54e6f0
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 17:00:07 2011 +0100

    vacuum: factor processing of vacuum fetch lists out of ctdb_vacuum_db()

commit e31594e0c13899e88013ce7eb7e3dc434c2f0723
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 11:04:13 2011 +0100

    vacuum: factor out full vacuum run out of ctdb_vacuum_db() as ctdb_vacuum_db_full()

commit 6596f2c4a6b4783b6498502fbbf50f87d4f59085
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 10:59:26 2011 +0100

    vacuum: factor out the fast vacuuming run into ctdb_vacuum_db_fast()
    
    for readability

commit f686bc440560074c1ce866f2037ae3671f182185
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 10:53:26 2011 +0100

    vacuum: rename delete_tree to delete_list
    
    It is not important for the user that this is implemented as a tree.

commit 09c55b76c96c4ab3fe812763007b81cf0a2ac86c
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 10:49:41 2011 +0100

    vacuum: appropriately rename vdata.list to vdata.vacuum_fetch_list

commit 019106e035520e6b3e5702b6e76d910626c3df13
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 10:46:54 2011 +0100

    vacuum: introduce a helper variable for the vacuum fetch list in ctdb_vacuum_db()

commit 48fe56ea27e3649ae7a67257fdce54f973e7c3c5
Author: Michael Adam <obnox at samba.org>
Date:   Fri Dec 16 10:43:06 2011 +0100

    vacuum: introduce a helper variable in add_record_to_vacuum_fetch_list() to reduce verbosity

commit e71afbf731f06a3b89b64220c7fd1b1ea5492d4a
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 17:43:58 2011 +0100

    tools/ctdb: allow the "ctdb vacuum" stub to be run without the daemon running.

commit 8fc4d5018ee6eee8856634095694d3ad0de5b4ae
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 17:43:10 2011 +0100

    tools/ctdb: remove functionality of "ctdb vacuum", just keeping a stub.

commit ea3e640a28178ddcb85285f4efec62ccba2483d9
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 17:32:45 2011 +0100

    vacuum: locally delete the records in the delete_tree that have be deleted remotely
    
    This way, especially records added in the fast vacuuming runs
    are deleted direclty instead of being handed back to the
    repack run which will probably not hit because of the vacuum limit.

commit 536aad024d52f2c32dd397fc86294c963b91341b
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 17:30:39 2011 +0100

    vacuum: improve vacuuming statistics for handling the delete_tree.
    
    Track the number of records failed to delete remotely with the
    TRY_DELETE_RECORDS control.
    And add a number of records left to delete locally.

commit 0ed349c24c7399b3b440c1f5d573db77ddb988b3
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 16:05:05 2011 +0100

    vacuum: fix and improve a comment

commit 7c5b27bc8dce9e30f2aff05297113da981f7b9a3
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 15:59:38 2011 +0100

    vacuum: appropriately rename delete_traverse()  to delete_marshall_traverse()

commit 970b8fc60857ad2f18f45312d355c571fb2f0246
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 15:58:52 2011 +0100

    vacuum: initialize the delete_count in the vacuum data

commit a5a29bf92b23e9b5a1523b06461eced422b22ffe
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:21:04 2011 +0100

    vacuum: fix the VacuumInterval tunable's type to uint32_t in get_vacuum_interval()

commit 78530f40338f511a7cd1d33ada450905742bfa8f
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:33:08 2011 +0100

    vacuum: add new tunable VacuumInterval and mark Vacuum{Default,Min,Max}Interval obsolete
    
    And use VacuumInterval instead of VacuumDefaultInterval in the code.

commit 1f62afbe1ae0b3e7dbad4081d1b51e3ab6ee5c39
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:36:35 2011 +0100

    vacuum: remove struct vacuum_tuning_data (unused)

commit e40fa9efd1c77aa35c917aba6e6e4d21d9c5cdea
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:32:12 2011 +0100

    vacuum: use get_vacuum_interval() in ctdb_vacuum_event()
    
    (instead of using the tunable directly)

commit 621c3ce957cb946ca05a2d527c037746ae2f01d3
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:16:23 2011 +0100

    vacuum: change get_vacuum_interval() to simply return the VacuumDefaultInterval tunable

commit d93750ea3f5cb854e5893e53795fd08656e7c12c
Author: Michael Adam <obnox at samba.org>
Date:   Tue Dec 13 14:06:09 2011 +0100

    vacuum: remove update_tuning_db()

commit 489148e465e2b8aed87ea836e3518f43490671ca
Author: Michael Adam <obnox at samba.org>
Date:   Thu Apr 7 12:17:42 2011 +0200

    ctdb_ltdb_store_server: when storing a record that is not to be scheduled for deletion, remove it from the delete queue
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>

commit a5065b42a98c709173503e02d217f97792878625
Author: Michael Adam <obnox at samba.org>
Date:   Thu Apr 7 12:17:16 2011 +0200

    vacuum: add ctdb_local_remove_from_delete_queue()
    
    Pair-Programmed-With: Stefan Metzmacher <metze at samba.org>

commit 8b0caaeed154d26c67a73659d3bbbdd63b21be11
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 18:09:36 2011 +0100

    rb_tree: fix possible access-after-free-error in trbt_traversearray32_node
    
    When the traverse callback frees the current node, the traverse of the
    rbtree can fail (the next node->right fails since node is not there any more...).
    This is fixed by introducing variables to store the right (and left)
    pointers before the callback is called.

commit 6c4d1b768ccade344a7462ecad7cf5cbbf3873d4
Author: Michael Adam <obnox at samba.org>
Date:   Thu Dec 22 17:18:38 2011 +0100

    fix zero-initialization of header in _ctdbd_allocate_pkt to the correct size

-----------------------------------------------------------------------

Summary of changes:
 client/ctdb_client.c      |    3 +-
 common/rb_tree.c          |   11 +-
 doc/ctdb.1                |  759 +++++++++++++++++++++++++---------------
 doc/ctdb.1.html           |  246 +++++++-------
 doc/ctdb.1.xml            |   90 +++---
 include/ctdb_private.h    |    5 +
 server/ctdb_ltdb_server.c |   20 +-
 server/ctdb_tunables.c    |  101 +++---
 server/ctdb_vacuum.c      |  859 +++++++++++++++++++++++++++------------------
 tools/ctdb.c              |    4 +-
 tools/ctdb_vacuum.c       |  441 +-----------------------
 11 files changed, 1247 insertions(+), 1292 deletions(-)


Changeset truncated at 500 lines:

diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index 224cdc0..a580a3e 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -47,14 +47,13 @@ struct ctdb_req_header *_ctdbd_allocate_pkt(struct ctdb_context *ctdb,
 	length = MAX(length, slength);
 	size = (length+(CTDB_DS_ALIGNMENT-1)) & ~(CTDB_DS_ALIGNMENT-1);
 
-	hdr = (struct ctdb_req_header *)talloc_size(mem_ctx, size);
+	hdr = (struct ctdb_req_header *)talloc_zero_size(mem_ctx, size);
 	if (hdr == NULL) {
 		DEBUG(DEBUG_ERR,("Unable to allocate packet for operation %u of length %u\n",
 			 operation, (unsigned)length));
 		return NULL;
 	}
 	talloc_set_name_const(hdr, type);
-	memset(hdr, 0, slength);
 	hdr->length       = length;
 	hdr->operation    = operation;
 	hdr->ctdb_magic   = CTDB_MAGIC;
diff --git a/common/rb_tree.c b/common/rb_tree.c
index 8458c51..bff7c5a 100644
--- a/common/rb_tree.c
+++ b/common/rb_tree.c
@@ -921,9 +921,12 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
 	int (*callback)(void *param, void *data), 
 	void *param)
 {
-	if (node->left) {
+	trbt_node_t *left = node->left;
+	trbt_node_t *right = node->right;
+
+	if (left) {
 		int ret;
-		ret = trbt_traversearray32_node(node->left, keylen, callback, param);
+		ret = trbt_traversearray32_node(left, keylen, callback, param);
 		if (ret != 0) {
 			return ret;
 		}
@@ -949,10 +952,10 @@ trbt_traversearray32_node(trbt_node_t *node, uint32_t keylen,
 		}
 	}
 
-	if (node->right) {
+	if (right) {
 		int ret;
 
-		ret = trbt_traversearray32_node(node->right, keylen, callback, param);
+		ret = trbt_traversearray32_node(right, keylen, callback, param);
 		if (ret != 0) {
 			return ret;
 		}
diff --git a/doc/ctdb.1 b/doc/ctdb.1
index ab481fb..55454f3 100644
--- a/doc/ctdb.1
+++ b/doc/ctdb.1
@@ -1,164 +1,218 @@
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "CTDB" "1" "12/14/2011" "ctdb" "CTDB \- clustered TDB database"
+'\" t
+.\"     Title: ctdb
+.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\"      Date: 12/23/2011
+.\"    Manual: CTDB - clustered TDB database
+.\"    Source: ctdb
+.\"  Language: English
+.\"
+.TH "CTDB" "1" "12/23/2011" "ctdb" "CTDB \- clustered TDB database"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el       .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
 .\" disable hyphenation
 .nh
 .\" disable justification (adjust text to left margin only)
 .ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
 .SH "NAME"
 ctdb \- clustered tdb database management utility
 .SH "SYNOPSIS"
-.HP 29
-\fBctdb [ OPTIONS ] COMMAND ...\fR
-.HP 5
+.HP \w'\fBctdb\ [\ OPTIONS\ ]\ COMMAND\ \&.\&.\&.\fR\ 'u
+\fBctdb [ OPTIONS ] COMMAND \&.\&.\&.\fR
+.HP \w'\fBctdb\fR\ 'u
 \fBctdb\fR [\-n\ <node>] [\-Y] [\-t\ <timeout>] [\-T\ <timelimit>] [\-?\ \-\-help] [\-\-usage] [\-d\ \-\-debug=<INTEGER>] [\-\-socket=<filename>] [\-\-print\-emptyrecords] [\-\-print\-datasize] [\-\-print\-lmaster] [\-\-print\-hash] [\-\-print\-recordflags]
 .SH "DESCRIPTION"
 .PP
-ctdb is a utility to view and manage a ctdb cluster.
+ctdb is a utility to view and manage a ctdb cluster\&.
 .SH "OPTIONS"
-.TP
+.PP
 \-n <pnn>
-This specifies the physical node number on which to execute the command. Default is to run the command on the daemon running on the local host.
+.RS 4
+This specifies the physical node number on which to execute the command\&. Default is to run the command on the daemon running on the local host\&.
 .sp
-The physical node number is an integer that describes the node in the cluster. The first node has physical node number 0.
-.TP
+The physical node number is an integer that describes the node in the cluster\&. The first node has physical node number 0\&.
+.RE
+.PP
 \-Y
-Produce output in machine readable form for easier parsing by scripts. Not all commands support this option.
-.TP
+.RS 4
+Produce output in machine readable form for easier parsing by scripts\&. Not all commands support this option\&.
+.RE
+.PP
 \-t <timeout>
-How long should ctdb wait for the local ctdb daemon to respond to a command before timing out. Default is 3 seconds.
-.TP
+.RS 4
+How long should ctdb wait for the local ctdb daemon to respond to a command before timing out\&. Default is 3 seconds\&.
+.RE
+.PP
 \-T <timelimit>
-A limit on how long the ctdb command will run for before it will be aborted. When this timelimit has been exceeded the ctdb command will terminate.
-.TP
+.RS 4
+A limit on how long the ctdb command will run for before it will be aborted\&. When this timelimit has been exceeded the ctdb command will terminate\&.
+.RE
+.PP
 \-? \-\-help
-Print some help text to the screen.
-.TP
+.RS 4
+Print some help text to the screen\&.
+.RE
+.PP
 \-\-usage
-Print useage information to the screen.
-.TP
+.RS 4
+Print useage information to the screen\&.
+.RE
+.PP
 \-d \-\-debug=<debuglevel>
-Change the debug level for the command. Default is 0.
-.TP
+.RS 4
+Change the debug level for the command\&. Default is 0\&.
+.RE
+.PP
 \-\-socket=<filename>
-Specify the socketname to use when connecting to the local ctdb daemon. The default is /tmp/ctdb.socket .
+.RS 4
+Specify the socketname to use when connecting to the local ctdb daemon\&. The default is /tmp/ctdb\&.socket \&.
 .sp
-You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket.
-.TP
+You only need to specify this parameter if you run multiple ctdb daemons on the same physical host and thus can not use the default name for the domain socket\&.
+.RE
+.PP
 \-\-print\-emptyrecords
-This enables printing of empty records when dumping databases with the catdb, cattbd and dumpdbbackup commands. Records with empty data segment are considered deleted by ctdb and cleaned by the vacuuming mechanism, so this switch can come in handy for debugging the vacuuming behaviour.
-.TP
+.RS 4
+This enables printing of empty records when dumping databases with the catdb, cattbd and dumpdbbackup commands\&. Records with empty data segment are considered deleted by ctdb and cleaned by the vacuuming mechanism, so this switch can come in handy for debugging the vacuuming behaviour\&.
+.RE
+.PP
 \-\-print\-datasize
-This lets database dumps (catdb, cattdb, dumpdbbackup) print the size of the record data instead of dumping the data contents.
-.TP
+.RS 4
+This lets database dumps (catdb, cattdb, dumpdbbackup) print the size of the record data instead of dumping the data contents\&.
+.RE
+.PP
 \-\-print\-lmaster
-This lets catdb print the lmaster for each record.
-.TP
+.RS 4
+This lets catdb print the lmaster for each record\&.
+.RE
+.PP
 \-\-print\-hash
-This lets database dumps (catdb, cattdb, dumpdbbackup) print the hash for each record.
-.TP
+.RS 4
+This lets database dumps (catdb, cattdb, dumpdbbackup) print the hash for each record\&.
+.RE
+.PP
 \-\-print\-recordflags
-This lets catdb and dumpdbbackup print the record flags for each record. Note that cattdb always prints the flags.
+.RS 4
+This lets catdb and dumpdbbackup print the record flags for each record\&. Note that cattdb always prints the flags\&.
+.RE
 .SH "ADMINISTRATIVE COMMANDS"
 .PP
-These are commands used to monitor and administrate a CTDB cluster.
+These are commands used to monitor and administrate a CTDB cluster\&.
 .SS "pnn"
 .PP
-This command displays the pnn of the current node.
+This command displays the pnn of the current node\&.
 .SS "status"
 .PP
-This command shows the current status of the ctdb node.
+This command shows the current status of the ctdb node\&.
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
+.ps +1
 \fBnode status\fR
-.RS 3
+.RS 4
 .PP
-Node status reflects the current status of the node. There are five possible states:
+Node status reflects the current status of the node\&. There are five possible states:
 .PP
-OK \- This node is fully functional.
+OK \- This node is fully functional\&.
 .PP
-DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster. If there is a public IP address associated with this node it should have been taken over by a different node. No services are running on this node.
+DISCONNECTED \- This node could not be connected through the network and is currently not participating in the cluster\&. If there is a public IP address associated with this node it should have been taken over by a different node\&. No services are running on this node\&.
 .PP
-DISABLED \- This node has been administratively disabled. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted.
+DISABLED \- This node has been administratively disabled\&. This node is still functional and participates in the CTDB cluster but its IP addresses have been taken over by a different node and no services are currently being hosted\&.
 .PP
-UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated. The CTDB daemon itself is operational and participates in the cluster. Its public IP address has been taken over by a different node and no services are currnetly being hosted. All unhealthy nodes should be investigated and require an administrative action to rectify.
+UNHEALTHY \- A service provided by this node is malfunctioning and should be investigated\&. The CTDB daemon itself is operational and participates in the cluster\&. Its public IP address has been taken over by a different node and no services are currnetly being hosted\&. All unhealthy nodes should be investigated and require an administrative action to rectify\&.
 .PP
-BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds. Any public IP address has been taken over by other nodes. This node does not provide any services. All banned nodes should be investigated and require an administrative action to rectify. This node does not perticipate in the CTDB cluster but can still be communicated with. I.e. ctdb commands can be sent to it.
+BANNED \- This node failed too many recovery attempts and has been banned from participating in the cluster for a period of RecoveryBanPeriod seconds\&. Any public IP address has been taken over by other nodes\&. This node does not provide any services\&. All banned nodes should be investigated and require an administrative action to rectify\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
 .PP
-STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP. A stopped node can not become LVSMASTER, RECMASTER or NATGW. This node does not perticipate in the CTDB cluster but can still be communicated with. I.e. ctdb commands can be sent to it.
+STOPPED \- A node that is stopped does not host any public ip addresses, nor is it part of the VNNMAP\&. A stopped node can not become LVSMASTER, RECMASTER or NATGW\&. This node does not perticipate in the CTDB cluster but can still be communicated with\&. I\&.e\&. ctdb commands can be sent to it\&.
 .PP
-PARTIALLYONLINE \- A node that is partially online participates in a cluster like a node that is ok. Some interfaces to serve public ip addresses are down, but at least one interface is up. See also "ctdb ifaces".
+PARTIALLYONLINE \- A node that is partially online participates in a cluster like a node that is ok\&. Some interfaces to serve public ip addresses are down, but at least one interface is up\&. See also "ctdb ifaces"\&.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
+.ps +1
 \fBgeneration\fR
-.RS 3
+.RS 4
 .PP
-The generation id is a number that indicates the current generation of a cluster instance. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed.
+The generation id is a number that indicates the current generation of a cluster instance\&. Each time a cluster goes through a reconfiguration or a recovery its generation id will be changed\&.
 .PP
-This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery. It is a random number that represents the current instance of a ctdb cluster and its databases. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery. After a recovery, all old outstanding commands will automatically become invalid.
+This number does not have any particular meaning other than to keep track of when a cluster has gone through a recovery\&. It is a random number that represents the current instance of a ctdb cluster and its databases\&. CTDBD uses this number internally to be able to tell when commands to operate on the cluster and the databases was issued in a different generation of the cluster, to ensure that commands that operate on the databases will not survive across a cluster database recovery\&. After a recovery, all old outstanding commands will automatically become invalid\&.
 .PP
-Sometimes this number will be shown as "INVALID". This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery.
+Sometimes this number will be shown as "INVALID"\&. This only means that the ctdbd daemon has started but it has not yet merged with the cluster through a recovery\&. All nodes start with generation "INVALID" and are not assigned a real generation id until they have successfully been merged with a cluster through a recovery\&.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
+.ps +1
 \fBVNNMAP\fR
-.RS 3
+.RS 4
 .PP
-The list of Virtual Node Numbers. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record.
+The list of Virtual Node Numbers\&. This is a list of all nodes that actively participates in the cluster and that share the workload of hosting the Clustered TDB database records\&. Only nodes that are participating in the vnnmap can become lmaster or dmaster for a database record\&.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
+.ps +1
 \fBRecovery mode\fR
-.RS 3
+.RS 4
 .PP
-This is the current recovery mode of the cluster. There are two possible modes:
+This is the current recovery mode of the cluster\&. There are two possible modes:
 .PP
-NORMAL \- The cluster is fully operational.
+NORMAL \- The cluster is fully operational\&.
 .PP
-RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete. A recovery process should finish within seconds. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated.
+RECOVERY \- The cluster databases have all been frozen, pausing all services while the cluster awaits a recovery process to complete\&. A recovery process should finish within seconds\&. If a cluster is stuck in the RECOVERY state this would indicate a cluster malfunction which needs to be investigated\&.
 .PP
-Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY.
+Once the recovery master detects an inconsistency, for example a node becomes disconnected/connected, the recovery daemon will trigger a cluster recovery process, where all databases are remerged across the cluster\&. When this process starts, the recovery master will first "freeze" all databases to prevent applications such as samba from accessing the databases and it will also mark the recovery mode as RECOVERY\&.
 .PP
-When CTDBD starts up, it will start in RECOVERY mode. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again.
+When CTDBD starts up, it will start in RECOVERY mode\&. Once the node has been merged into a cluster and all databases have been recovered, the node mode will change into NORMAL mode and the databases will be "thawed", allowing samba to access the databases again\&.
 .RE
 .sp
 .it 1 an-trap
 .nr an-no-space-flag 1
 .nr an-break-flag 1
 .br
+.ps +1
 \fBRecovery master\fR
-.RS 3
+.RS 4
 .PP
-This is the cluster node that is currently designated as the recovery master. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired.
+This is the cluster node that is currently designated as the recovery master\&. This node is responsible of monitoring the consistency of the cluster and to perform the actual recovery process when reqired\&.
 .PP
-Only one node at a time can be the designated recovery master. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node.
+Only one node at a time can be the designated recovery master\&. Which node is designated the recovery master is decided by an election process in the recovery daemons running on each node\&.
 .RE
 .PP
 Example: ctdb status
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
 Number of nodes:4
-pnn:0 11.1.2.200       OK (THIS NODE)
-pnn:1 11.1.2.201       OK
-pnn:2 11.1.2.202       OK
-pnn:3 11.1.2.203       OK
+pnn:0 11\&.1\&.2\&.200       OK (THIS NODE)
+pnn:1 11\&.1\&.2\&.201       OK
+pnn:2 11\&.1\&.2\&.202       OK
+pnn:3 11\&.1\&.2\&.203       OK
 Generation:1362079228
 Size:4
 hash:0 lmaster:0
@@ -169,62 +223,86 @@ Recovery mode:NORMAL (0)
 Recovery master:0
       
 .fi
+.if n \{\
+.RE
+.\}
 .SS "recmaster"
 .PP
-This command shows the pnn of the node which is currently the recmaster.
+This command shows the pnn of the node which is currently the recmaster\&.
 .SS "uptime"
 .PP
-This command shows the uptime for the ctdb daemon. When the last recovery or ip\-failover completed and how long it took. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago.
+This command shows the uptime for the ctdb daemon\&. When the last recovery or ip\-failover completed and how long it took\&. If the "duration" is shown as a negative number, this indicates that there is a recovery/failover in progress and it started that many seconds ago\&.
 .PP
 Example: ctdb uptime
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
 Current time of node          :                Thu Oct 29 10:38:54 2009
 Ctdbd start time              : (000 16:54:28) Wed Oct 28 17:44:26 2009
 Time of last recovery/failover: (000 16:53:31) Wed Oct 28 17:45:23 2009
-Duration of last recovery/failover: 2.248552 seconds
+Duration of last recovery/failover: 2\&.248552 seconds
       
 .fi
+.if n \{\
+.RE
+.\}
 .SS "listnodes"
 .PP
-This command shows lists the ip addresses of all the nodes in the cluster.
+This command shows lists the ip addresses of all the nodes in the cluster\&.
 .PP
 Example: ctdb listnodes
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
-10.0.0.71
-10.0.0.72
-10.0.0.73
-10.0.0.74
+10\&.0\&.0\&.71
+10\&.0\&.0\&.72
+10\&.0\&.0\&.73
+10\&.0\&.0\&.74
       
 .fi
+.if n \{\
+.RE
+.\}
 .SS "ping"
 .PP
-This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly.
+This command will "ping" all CTDB daemons in the cluster to verify that they are processing commands correctly\&.
 .PP
 Example: ctdb ping
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
-response from 0 time=0.000054 sec  (3 clients)
-response from 1 time=0.000144 sec  (2 clients)
-response from 2 time=0.000105 sec  (2 clients)
-response from 3 time=0.000114 sec  (2 clients)
+response from 0 time=0\&.000054 sec  (3 clients)
+response from 1 time=0\&.000144 sec  (2 clients)
+response from 2 time=0\&.000105 sec  (2 clients)
+response from 3 time=0\&.000114 sec  (2 clients)
       
 .fi
+.if n \{\
+.RE
+.\}
 .SS "ifaces"
 .PP
-This command will display the list of network interfaces, which could host public addresses, along with their status.
+This command will display the list of network interfaces, which could host public addresses, along with their status\&.
 .PP
 Example: ctdb ifaces
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
 Interfaces on node 0
 name:eth5 link:up references:2
@@ -233,11 +311,17 @@ name:eth3 link:up references:1
 name:eth2 link:up references:1
       
 .fi
+.if n \{\
+.RE
+.\}
 .PP
 Example: ctdb ifaces \-Y
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
 :Name:LinkStatus:References:
 :eth5:1:2
@@ -246,210 +330,264 @@ Example output:
 :eth2:1:1
       
 .fi
+.if n \{\
+.RE
+.\}
 .SS "setifacelink <iface> <status>"
 .PP
-This command will set the status of a network interface. The status needs to be "up" or "down". This is typically used in the 10.interfaces script in the "monitor" event.
+This command will set the status of a network interface\&. The status needs to be "up" or "down"\&. This is typically used in the 10\&.interfaces script in the "monitor" event\&.
 .PP
 Example: ctdb setifacelink eth0 up
 .SS "ip"
 .PP
-This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip. By default this command will ONLY show those public addresses that are known to the node itself. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all".
+This command will display the list of public addresses that are provided by the cluster and which physical node is currently serving this ip\&. By default this command will ONLY show those public addresses that are known to the node itself\&. To see the full list of all public ips across the cluster you must use "ctdb ip \-n all"\&.
 .PP
 Example: ctdb ip
 .PP
 Example output:
 .sp
+.if n \{\
+.RS 4
+.\}
 .nf
 Public IPs on node 0
-172.31.91.82 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.83 node[0] active[eth3] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.84 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
-172.31.91.85 node[0] active[eth2] available[eth2,eth3] configured[eth2,eth3]
-172.31.92.82 node[1] active[] available[eth5] configured[eth4,eth5]
-172.31.92.83 node[0] active[eth5] available[eth5] configured[eth4,eth5]
-172.31.92.84 node[1] active[] available[eth5] configured[eth4,eth5]
-172.31.92.85 node[0] active[eth5] available[eth5] configured[eth4,eth5]
+172\&.31\&.91\&.82 node[1] active[] available[eth2,eth3] configured[eth2,eth3]
+172\&.31\&.91\&.83 node[0] active[eth3] available[eth2,eth3] configured[eth2,eth3]
+172\&.31\&.91\&.84 node[1] active[] available[eth2,eth3] configured[eth2,eth3]


-- 
CTDB repository


More information about the samba-cvs mailing list