[SCM] CTDB repository - branch 1.2 updated - ctdb-1.9.1-432-g997c37d

Ronnie Sahlberg sahlberg at samba.org
Thu May 12 02:55:17 MDT 2011


The branch, 1.2 has been updated
       via  997c37de983eff2de4dadc452654077b4d1d50e6 (commit)
       via  a888e7853999872c8a89964144e3aa308b7fc63f (commit)
       via  b3ae4be27ca54bc6d596bda10bbf98a460dc0b98 (commit)
       via  ec05b5c2a31343b79857270f256aa3aea434922c (commit)
       via  427352035a0cb4cd8e74617e0f78df1a5b08568d (commit)
       via  8a0b492d9d198ec46c7718549e97e2530807ff27 (commit)
       via  cc95efaf132225b466fc01d7b732fee3aa8a6d46 (commit)
       via  348ea1d93a261e6d5e26790bdd599e20c98ab333 (commit)
       via  72bcc5b7831ba2bcff2460d6ff68038265ca3950 (commit)
      from  30a73156727f2286e6f5ae4d245536e0c55b2911 (commit)

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


- Log -----------------------------------------------------------------
commit 997c37de983eff2de4dadc452654077b4d1d50e6
Author: Michael Adam <obnox at samba.org>
Date:   Wed May 4 14:28:26 2011 +0200

    packaging: add ltdbtool and its manpage to the RPM

commit a888e7853999872c8a89964144e3aa308b7fc63f
Author: Michael Adam <obnox at samba.org>
Date:   Wed May 4 14:25:48 2011 +0200

    install the ltdbtool manpage with "make install"

commit b3ae4be27ca54bc6d596bda10bbf98a460dc0b98
Author: Michael Adam <obnox at samba.org>
Date:   Wed May 4 13:44:59 2011 +0200

    install ltdbtool with "make install"

commit ec05b5c2a31343b79857270f256aa3aea434922c
Author: Michael Adam <obnox at samba.org>
Date:   Wed May 4 13:44:10 2011 +0200

    build "ltdbtool" in "make all"

commit 427352035a0cb4cd8e74617e0f78df1a5b08568d
Author: Gregor Beck <gbeck at sernet.de>
Date:   Wed May 4 14:17:04 2011 +0200

    ltdbtool: add manpage html + roff
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 8a0b492d9d198ec46c7718549e97e2530807ff27
Author: Gregor Beck <gbeck at sernet.de>
Date:   Wed May 4 14:14:54 2011 +0200

    ltdbtool: add manpage
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit cc95efaf132225b466fc01d7b732fee3aa8a6d46
Author: Gregor Beck <gbeck at sernet.de>
Date:   Thu Apr 14 12:51:59 2011 +0200

    add ltdbtool - a standalone ltdb tool
    
    This this is a tool to handle (dump and convert) ctdb's local tdb
    copies (ltdbs) without connecting to a ctdb daemon.
    
    It can be used to
    
    * dump the contents of a ltdb, printing
      the ctdb record header information
    
    * dump a non-clustered tdb database (like tdbdump)
    
    * convert between an ltdb and a non-clustered tdb
      (adding or removing ctdb headers)
    
    * convert between 64 and 32 bit ltdbs
      (the ctdb record headers differ by 4 bytes of padding)
    
    usage: bin/ltdbtool dump [-p] [-s{0|32|64}] <idb>
           bin/ltdbtool convert [-s{0|32|64}] [-o{0|32|64}] <idb> <odb>
    
    Pair-Programmed-With: Michael Adam <obnox at samba.org>

commit 348ea1d93a261e6d5e26790bdd599e20c98ab333
Author: Gregor Beck <gbeck at sernet.de>
Date:   Thu Apr 14 12:55:57 2011 +0200

    ctdb catdb: fix escaping of '"' and '\'
    
    Signed-off-by: Michael Adam <obnox at samba.org>

commit 72bcc5b7831ba2bcff2460d6ff68038265ca3950
Author: Ronnie Sahlberg <ronniesahlberg at gmail.com>
Date:   Thu May 12 10:24:46 2011 +1000

    When using multiple VLANs, some funky stuff can sometimes happen when
    adding/removing IP addresses causing routes might be dropped by the system.
    
    The easiest workaround for this is to unconditionally try to reapply
    all static routes for all interfaces once ipreallocation has finished,
    not just adding them back on the affected interface.
    
    This worksaround a funky issue in
    CQ S1023538

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

Summary of changes:
 Makefile.in                |   11 +-
 client/ctdb_client.c       |    2 +-
 config/events.d/11.routing |   14 +-
 doc/ltdbtool.1             |  258 ++++++++++++++++++++++++++++++
 doc/ltdbtool.1.html        |   84 ++++++++++
 doc/ltdbtool.1.xml         |  230 +++++++++++++++++++++++++++
 packaging/RPM/ctdb.spec.in |    2 +
 tools/ltdbtool.c           |  377 ++++++++++++++++++++++++++++++++++++++++++++
 8 files changed, 967 insertions(+), 11 deletions(-)
 create mode 100644 doc/ltdbtool.1
 create mode 100644 doc/ltdbtool.1.html
 create mode 100644 doc/ltdbtool.1.xml
 create mode 100644 tools/ltdbtool.c


Changeset truncated at 500 lines:

diff --git a/Makefile.in b/Makefile.in
index 6bbf616..aec64e1 100755
--- a/Makefile.in
+++ b/Makefile.in
@@ -72,7 +72,7 @@ TEST_BINS=tests/bin/ctdb_bench tests/bin/ctdb_fetch tests/bin/ctdb_fetch_one \
 	tests/bin/ctdb_traverse tests/bin/rb_test tests/bin/ctdb_transaction \
 	@INFINIBAND_BINS@
 
-BINS = bin/ctdb @CTDB_SCSI_IO@ bin/smnotify bin/ping_pong
+BINS = bin/ctdb @CTDB_SCSI_IO@ bin/smnotify bin/ping_pong bin/ltdbtool
 SBINS = bin/ctdbd
 
 DIRS = lib bin tests/bin
@@ -123,6 +123,10 @@ bin/ctdb: $(CTDB_CLIENT_OBJ) tools/ctdb.o tools/ctdb_vacuum.o libctdb/libctdb.a
 	@echo Linking $@
 	@$(CC) $(CFLAGS) -o $@ tools/ctdb.o tools/ctdb_vacuum.o $(CTDB_CLIENT_OBJ) $(LIB_FLAGS) libctdb/libctdb.a
 
+bin/ltdbtool: tools/ltdbtool.o @TDB_OBJ@
+	@echo Linking $@
+	@$(CC) $(CFLAGS) -o $@ $+
+
 bin/smnotify: utils/smnotify/gen_xdr.o utils/smnotify/gen_smnotify.o utils/smnotify/smnotify.o $(POPT_OBJ)
 	@echo Linking $@
 	@$(CC) $(CFLAGS) -o $@ utils/smnotify/smnotify.o utils/smnotify/gen_xdr.o utils/smnotify/gen_smnotify.o $(POPT_OBJ) $(LIB_FLAGS)
@@ -198,7 +202,8 @@ tests/bin/ibwrapper_test: $(CTDB_CLIENT_OBJ) ib/ibwrapper_test.o
 
 doc: doc/ctdb.1 doc/ctdb.1.html \
 	doc/ctdbd.1 doc/ctdbd.1.html \
-	doc/onnode.1 doc/onnode.1.html
+	doc/onnode.1 doc/onnode.1.html \
+	doc/ltdbtool.1 doc/ltdbtool.1.html
 
 clean:
 	rm -f *.o */*.o */*.a */*/*.o */*~
@@ -224,6 +229,7 @@ install: all
 	${INSTALLCMD} -m 755 bin/ctdbd $(DESTDIR)$(sbindir)
 	${INSTALLCMD} -m 755 bin/smnotify $(DESTDIR)$(bindir)
 	$(INSTALLCMD) -m 755 bin/ping_pong $(DESTDIR)$(bindir)
+	$(INSTALLCMD) -m 755 bin/ltdbtool $(DESTDIR)$(bindir)
 	$(INSTALLCMD) -m 755 libctdb/libctdb.a $(DESTDIR)$(libdir)
 	${INSTALLCMD} -m 644 include/ctdb.h $(DESTDIR)$(includedir)
 	${INSTALLCMD} -m 644 include/ctdb_client.h $(DESTDIR)$(includedir)
@@ -257,6 +263,7 @@ install: all
 	if [ -f doc/ctdb.1 ];then ${INSTALLCMD} -m 644 doc/ctdb.1 $(DESTDIR)$(mandir)/man1; fi
 	if [ -f doc/ctdbd.1 ];then ${INSTALLCMD} -m 644 doc/ctdbd.1 $(DESTDIR)$(mandir)/man1; fi
 	if [ -f doc/onnode.1 ];then ${INSTALLCMD} -m 644 doc/onnode.1 $(DESTDIR)$(mandir)/man1; fi
+	if [ -f doc/ltdbtool.1 ]; then ${INSTALLCMD} -m 644 doc/ltdbtool.1 $(DESTDIR)$(mandir)/man1; fi
 	if [ ! -f $(DESTDIR)$(etcdir)/ctdb/notify.sh ];then ${INSTALLCMD} -m 755 config/notify.sh $(DESTDIR)$(etcdir)/ctdb; fi
 	if [ ! -f $(DESTDIR)$(etcdir)/ctdb/ctdb-crash-cleanup.sh ];then ${INSTALLCMD} -m 755 config/ctdb-crash-cleanup.sh $(DESTDIR)$(etcdir)/ctdb; fi
 
diff --git a/client/ctdb_client.c b/client/ctdb_client.c
index a43710f..5e06604 100644
--- a/client/ctdb_client.c
+++ b/client/ctdb_client.c
@@ -1876,7 +1876,7 @@ int ctdb_traverse(struct ctdb_db_context *ctdb_db, ctdb_traverse_func fn, void *
 	return state.count;
 }
 
-#define ISASCII(x) ((x>31)&&(x<128))
+#define ISASCII(x) (isprint(x) && !strchr("\"\\", (x)))
 /*
   called on each key during a catdb
  */
diff --git a/config/events.d/11.routing b/config/events.d/11.routing
index c265c38..2dd6208 100755
--- a/config/events.d/11.routing
+++ b/config/events.d/11.routing
@@ -19,14 +19,12 @@ loadconfig
     exit 0
 }
 
-case "$1" in 
-    takeip|releaseip)
-	iface=$2
-	cat $CTDB_BASE/static-routes | egrep "^$iface " | while read IFACE DEST GW; do
-	    ip route add $DEST via $GW dev $IFACE >/dev/null 2>/dev/null
-	done
-	;;
-
+case "$1" in
+    recovered|ipreallocated)
+        cat $CTDB_BASE/static-routes | while read IFACE DEST GW; do
+            ip route add $DEST via $GW dev $IFACE >/dev/null 2>/dev/null
+        done
+        ;;
     *)
 	ctdb_standard_event_handler "$@"
 	;;
diff --git a/doc/ltdbtool.1 b/doc/ltdbtool.1
new file mode 100644
index 0000000..5c514d2
--- /dev/null
+++ b/doc/ltdbtool.1
@@ -0,0 +1,258 @@
+'\" t
+.\"     Title: ltdbtool
+.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
+.\" Generator: DocBook XSL Stylesheets v1.75.2 <http://docbook.sf.net/>
+.\"      Date: 05/04/2011
+.\"    Manual:  
+.\"    Source:  
+.\"  Language: English
+.\"
+.TH "LTDBTOOL" "1" "05/04/2011" "" ""
+.\" -----------------------------------------------------------------
+.\" * 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"
+ltdbtool \- handle ctdb\*(Aqs local tdb copies
+.SH "SYNOPSIS"
+.HP \w'\fBltdbtool\ [OPTIONS]\ COMMAND\fR\ 'u
+\fBltdbtool [OPTIONS] COMMAND\fR
+.SH "DESCRIPTION"
+.PP
+ltdbtool is a utility to cope with ctdb\*(Aqs local tdb copies (LTDBs) without connecting to a ctdb daemon\&.
+.PP
+It can be used to
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+dump the contents of a LTDB, optionally printing the ctdb record header information,
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+convert between an LTDB and a non\-clustered tdb by adding or removing ctdb headers and
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+convert between 64 and 32 bit LTDBs where the ctdb record headers differ by 4 bytes of padding\&.
+.RE
+.sp
+.SH "COMMANDS"
+.PP
+help
+.RS 4
+Print a help text\&.
+.RE
+.PP
+dump <IDB>
+.RS 4
+Dump the contents of a LTDB file to standard output in a human\-readable format\&.
+.RE
+.PP
+convert <IDB> <ODB>
+.RS 4
+Make a copy of a LTDB optionally adding or removing ctdb headers\&.
+.RE
+.SH "OPTIONS"
+.PP
+\-p
+.RS 4
+Dump with header information, similar to "ctdb catdb"\&.
+.RE
+.PP
+\-s {0|32|64}
+.RS 4
+Specify how to determine the ctdb record header size for the input database:
+.PP
+0
+.RS 4
+no ctdb header
+.RE
+.PP
+32
+.RS 4
+ctdb header size of a 32 bit system (20 bytes)
+.RE
+.PP
+64
+.RS 4
+ctdb header size of a 64 bit system (24 bytes)
+.RE
+.sp
+The default is 32 or 64 depending on the system architecture\&.
+.RE
+.PP
+\-o {0|32|64}
+.RS 4
+Specify how to determine the ctdb record header size for the output database, see \-s
+.RE
+.PP
+\-S <SIZE>
+.RS 4
+Explicitly specify the ctdb record header size of the input database in bytes\&.
+.RE
+.PP
+\-O <SIZE>
+.RS 4
+Explicitly specify the ctdb record header size for the output database in bytes\&.
+.RE
+.PP
+\-h
+.RS 4
+Print a help text\&.
+.RE
+.SH "EXAMPLES"
+.PP
+Print a local tdb in "tdbdump" style:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool dump idmap2\&.tdb\&.0
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Print a local tdb with header information similar to "ctdb catdb":
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool dump \-p idmap2\&.tdb\&.0
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Strip the ctdb headers from records:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool convert \-o0 idmap2\&.tdb\&.0 idmap\&.tdb
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Strip 64 bit ctdb headers from records, running on i386:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool convert \-s64 \-o0 idmap2\&.tdb\&.0 idmap\&.tdb
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Strip the ctdb headers from records by piping through tdbrestore:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool dump idmap2\&.tdb\&.0 | tdbrestore idmap\&.tdb
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Convert a local tdb from a 64 bit system for usage on a 32 bit system:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool convert \-s64 \-o32 idmap2\&.tdb\&.0 idmap2\&.tdb\&.1
+    
+.fi
+.if n \{\
+.RE
+.\}
+.PP
+Add a default header:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+      ltdbtool convert \-s0 idmap\&.tdb idmap2\&.tdb\&.0
+    
+.fi
+.if n \{\
+.RE
+.\}
+.SH "SEE ALSO"
+.PP
+ctdbd(1), ctdb(1), tdbdump(1), tdbrestore(1),
+\m[blue]\fB\%http://ctdb.samba.org/\fR\m[]
+.SH "COPYRIGHT/LICENSE"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+Copyright (C) Gregor Beck 2011
+Copyright (C) Michael Adam 2011
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at
+your option) any later version\&.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&.  See the GNU
+General Public License for more details\&.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, see http://www\&.gnu\&.org/licenses/\&.
+.fi
+.if n \{\
+.RE
+.\}
diff --git a/doc/ltdbtool.1.html b/doc/ltdbtool.1.html
new file mode 100644
index 0000000..e7530be
--- /dev/null
+++ b/doc/ltdbtool.1.html
@@ -0,0 +1,84 @@
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>ltdbtool</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" title="ltdbtool"><a name="ltdbtool.1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ltdbtool — handle ctdb's local tdb copies </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">ltdbtool [OPTIONS] COMMAND</code> </p></div></div><div class="refsect1" title="DESCRIPTION"><a name="id417069"></a><h2>DESCRIPTION</h2><p>
+      ltdbtool is a utility to cope with ctdb's local tdb copies (LTDBs)
+      without connecting to a ctdb daemon.
+    </p><p>It can be used to
+    </p><div class="itemizedlist"><ul class="itemizedlist" type="disc" compact><li class="listitem"><p>
+	  dump the contents of a LTDB, optionally printing the ctdb
+	  record header information,
+	</p></li><li class="listitem"><p>
+	  convert between an LTDB and a non-clustered tdb
+	  by adding or removing ctdb headers and
+	</p></li><li class="listitem"><p>convert between 64 and 32 bit LTDBs where the ctdb record
+	headers differ by 4 bytes of padding.
+	</p></li></ul></div><p>
+    </p></div><div class="refsect1" title="COMMANDS"><a name="id417114"></a><h2>COMMANDS</h2><div class="variablelist"><dl><dt><span class="term">help</span></dt><dd><p>
+	    Print a help text.
+	  </p></dd><dt><span class="term">dump <IDB></span></dt><dd><p>
+	    Dump the contents of a LTDB file to standard output in a
+	    human-readable format.
+	  </p></dd><dt><span class="term">convert <IDB> <ODB></span></dt><dd><p>
+	    Make a copy of a LTDB optionally adding or removing ctdb headers.
+	  </p></dd></dl></div></div><div class="refsect1" title="OPTIONS"><a name="id417160"></a><h2>OPTIONS</h2><div class="variablelist"><dl><dt><span class="term">-p</span></dt><dd><p>
+	    Dump with header information, similar to "ctdb catdb".
+	  </p></dd><dt><span class="term">-s {0|32|64}</span></dt><dd><p>
+	    Specify how to determine the ctdb record header size
+	    for the input database:
+	    </p><div class="variablelist"><dl><dt><span class="term">0</span></dt><dd><p>no ctdb header</p></dd><dt><span class="term">32</span></dt><dd><p>ctdb header size of a 32 bit system (20 bytes)</p></dd><dt><span class="term">64</span></dt><dd><p>ctdb header size of a 64 bit system (24 bytes)</p></dd></dl></div><p>
+	    The default is 32 or 64 depending on the system architecture.
+	  </p></dd><dt><span class="term">-o {0|32|64}</span></dt><dd><p>
+	    Specify how to determine the ctdb record header size
+	    for the output database, see -s
+	  </p></dd><dt><span class="term">-S <SIZE></span></dt><dd><p>
+	    Explicitly specify the ctdb record header size of the input database in bytes.
+	  </p></dd><dt><span class="term">-O <SIZE></span></dt><dd><p>
+	    Explicitly specify the ctdb record header size for the output database in bytes.
+	  </p></dd><dt><span class="term">-h</span></dt><dd><p>
+            Print a help text.
+	  </p></dd></dl></div></div><div class="refsect1" title="EXAMPLES"><a name="id417288"></a><h2>EXAMPLES</h2><p>
+      Print a local tdb in "tdbdump" style:
+    </p><pre class="screen">
+      ltdbtool dump idmap2.tdb.0
+    </pre><p>
+      Print a local tdb with header information similar to "ctdb catdb":
+    </p><pre class="screen">
+      ltdbtool dump -p idmap2.tdb.0
+    </pre><p>
+      Strip the ctdb headers from records:
+    </p><pre class="screen">
+      ltdbtool convert -o0 idmap2.tdb.0 idmap.tdb
+    </pre><p>
+      Strip 64 bit ctdb headers from records, running on i386:
+    </p><pre class="screen">
+      ltdbtool convert -s64 -o0 idmap2.tdb.0 idmap.tdb
+    </pre><p>
+      Strip the ctdb headers from records by piping through tdbrestore:
+    </p><pre class="screen">
+      ltdbtool dump idmap2.tdb.0 | tdbrestore idmap.tdb
+    </pre><p>
+      Convert a local tdb from a 64 bit system for usage on a 32 bit system:
+    </p><pre class="screen">
+      ltdbtool convert -s64 -o32 idmap2.tdb.0 idmap2.tdb.1
+    </pre><p>
+      Add a default header:
+    </p><pre class="screen">
+      ltdbtool convert -s0 idmap.tdb idmap2.tdb.0
+    </pre></div><div class="refsect1" title="SEE ALSO"><a name="id417355"></a><h2>SEE ALSO</h2><p>
+      ctdbd(1), ctdb(1), tdbdump(1), tdbrestore(1),
+      <a class="ulink" href="http://ctdb.samba.org/" target="_top">http://ctdb.samba.org/</a>
+    </p></div><div class="refsect1" title="COPYRIGHT/LICENSE"><a name="id417368"></a><h2>COPYRIGHT/LICENSE</h2><div class="literallayout"><p><br>
+Copyright�(C)�Gregor�Beck�2011<br>
+Copyright�(C)�Michael�Adam�2011<br>
+<br>
+This�program�is�free�software;�you�can�redistribute�it�and/or�modify<br>
+it�under�the�terms�of�the�GNU�General�Public�License�as�published�by<br>
+the�Free�Software�Foundation;�either�version�3�of�the�License,�or�(at<br>
+your�option)�any�later�version.<br>
+<br>
+This�program�is�distributed�in�the�hope�that�it�will�be�useful,�but<br>
+WITHOUT�ANY�WARRANTY;�without�even�the�implied�warranty�of<br>
+MERCHANTABILITY�or�FITNESS�FOR�A�PARTICULAR�PURPOSE.��See�the�GNU<br>
+General�Public�License�for�more�details.<br>
+<br>
+You�should�have�received�a�copy�of�the�GNU�General�Public�License<br>
+along�with�this�program;�if�not,�see�http://www.gnu.org/licenses/.<br>
+</p></div></div></div></body></html>
diff --git a/doc/ltdbtool.1.xml b/doc/ltdbtool.1.xml
new file mode 100644
index 0000000..a0379a6
--- /dev/null
+++ b/doc/ltdbtool.1.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
+<refentry id="ltdbtool.1">
+
+<refmeta>
+	<refentrytitle>ltdbtool</refentrytitle>
+	<manvolnum>1</manvolnum>
+	<refmiscinfo class="source"> </refmiscinfo>
+	<refmiscinfo class="manual"> </refmiscinfo>
+</refmeta>
+
+
+<refnamediv>
+	<refname>ltdbtool</refname>
+        <refpurpose>handle ctdb's local tdb copies </refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+	<cmdsynopsis>
+		<command>ltdbtool [OPTIONS] COMMAND</command>
+	</cmdsynopsis>
+</refsynopsisdiv>
+
+  <refsect1><title>DESCRIPTION</title>
+    <para>
+      ltdbtool is a utility to cope with ctdb's local tdb copies (LTDBs)
+      without connecting to a ctdb daemon.
+    </para>
+    <para>It can be used to
+    <itemizedlist spacing='compact'> <!-- mark='opencircle' -->
+      <listitem>
+	<para>
+	  dump the contents of a LTDB, optionally printing the ctdb
+	  record header information,
+	</para>
+      </listitem>
+      <listitem>
+	<para>
+	  convert between an LTDB and a non-clustered tdb
+	  by adding or removing ctdb headers and
+	</para>
+      </listitem>
+      <listitem>
+	<para>convert between 64 and 32 bit LTDBs where the ctdb record
+	headers differ by 4 bytes of padding.
+	</para>
+      </listitem>
+    </itemizedlist>
+    </para>
+  </refsect1>
+
+  <refsect1><title>COMMANDS</title>


-- 
CTDB repository


More information about the samba-cvs mailing list