diff options
-rw-r--r-- | docs-xml/manpages-3/tdbtool.8.xml | 10 | ||||
-rw-r--r-- | lib/tdb/tools/tdbtool.c | 7 |
2 files changed, 16 insertions, 1 deletions
diff --git a/docs-xml/manpages-3/tdbtool.8.xml b/docs-xml/manpages-3/tdbtool.8.xml index 9f96db277d..51fc540fc9 100644 --- a/docs-xml/manpages-3/tdbtool.8.xml +++ b/docs-xml/manpages-3/tdbtool.8.xml @@ -201,6 +201,14 @@ <varlistentry> <term> + <option>repack</option> + </term> + <listitem><para>Repack a database using a temporary file to remove fragmentation. + </para></listitem> + </varlistentry> + + <varlistentry> + <term> <option>quit</option> </term> <listitem><para>Exit <command>tdbtool</command>. @@ -220,7 +228,7 @@ <refsect1> <title>VERSION</title> - <para>This man page is correct for version 3.0.25 of the Samba suite.</para> + <para>This man page is correct for version 3.6 of the Samba suite.</para> </refsect1> <refsect1> diff --git a/lib/tdb/tools/tdbtool.c b/lib/tdb/tools/tdbtool.c index d93f742d1c..dc5747f87a 100644 --- a/lib/tdb/tools/tdbtool.c +++ b/lib/tdb/tools/tdbtool.c @@ -61,6 +61,7 @@ enum commands { CMD_NEXT, CMD_SYSTEM, CMD_CHECK, + CMD_REPACK, CMD_QUIT, CMD_HELP }; @@ -98,6 +99,7 @@ COMMAND_TABLE cmd_table[] = { {"quit", CMD_QUIT}, {"q", CMD_QUIT}, {"!", CMD_SYSTEM}, + {"repack", CMD_REPACK}, {NULL, CMD_HELP} }; @@ -203,6 +205,7 @@ static void help(void) " list : print the database hash table and freelist\n" " free : print the database freelist\n" " check : check the integrity of an opened database\n" +" repack : repack the database\n" " speed : perform speed tests on the database\n" " ! command : execute system command\n" " 1 | first : print the first record\n" @@ -608,6 +611,10 @@ static int do_command(void) bIterate = 0; tdb_transaction_commit(tdb); return 0; + case CMD_REPACK: + bIterate = 0; + tdb_repack(tdb); + return 0; case CMD_TRANSACTION_CANCEL: bIterate = 0; tdb_transaction_cancel(tdb); |