[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Thu Jul 28 06:46:03 UTC 2016


The branch, master has been updated
       via  7b4c815 tevent: version 0.9.28
       via  77d2986 talloc: version 2.1.8
       via  2a97fb0 tdb: version 1.3.10
       via  eb6e320 fss_agent: Fix a signed/unsigned mixup
       via  f396449 lib: Move "message_send_all" to serverid.c
       via  41875c8 s3/notifyd: add async send/recv functions
       via  4652a8b s3/cleanupd: use smbd_cleanupd.tdb
       via  da61c97 s3/smbd: add cleanupd_init_send()/recv()
       via  9c1cd31 s3/lib: add smbd_cleanupd.tdb
       via  ed81e51 ctdb-daemon: Fix CID 1364527/8/9: Null pointer dereferences (NULL_RETURNS)
       via  58bd3f8 ctdb-tests: Pretend not to ignore return from fgets()
       via  2f70964 ctdb-tests: Avoid portability issue in porting tests
       via  806f54f ctdb-tests: Remove duplicate EOF terminators in some tool unit tests
       via  0b4b2d0 ctdb-tests: Avoid division by zero in NFS eventscript unit test
       via  9871194 ctdb-tests: Removing sleep from porting_tests
       via  d10771c ctdb-tests: Do not add $VALGRIND to ctdb command
       via  a86be20 ctdb-tests: Fix valgrind unintialized error
       via  44bbdbe WHATSNEW: ctdb updates
       via  3fafe48 ctdb-packaging: Move ctdb configuration to ctdbd.conf
       via  3fbb541 ctdb-protocol: Deprecate global transaction controls
       via  28f62be ctdb-protocol: Drop marshalling for global transaction controls
       via  24635e9 ctdb-client: Drop client code for global transaction controls
       via  3314a09 ctdb-daemon: Drop implementation of global transaction controls
       via  47c400f ctdb-protocol: Deprecate THAW control
       via  28b2a63 ctdb-daemon: Drop the implementation of THAW control
       via  29b7825 ctdb-tests: Adjust unit test output matching new ctdb
       via  70f2573 ctdb-tool: Add replacement ctdb tool using new client API
       via  199293f ctdb-tool: Remove old ctdb tool
       via  87b49c9 ctdb-daemon: Deletion of IPs is deferred until the next takeover run
       via  0a759bc ctdb-daemon: Use consistent naming for monitoring mode
       via  5dc1888 ctdb-daemon: Reduce QueueBufferSize from 16k to 1k
       via  5d380ef ctdb-daemon: Add QueueBufferSize tunable
       via  57a66eb ctdb-protocol: Add function ctdb_sock_addr_same_ip
       via  76c2208 ctdb-common: Fix parsing of debug level
       via  dc065b1 ctdb-tests: Add machinereadable output tests
       via  5d34755 ctdb-tests: Add more tests for ctdb setdbsticky and setdbreadonly
       via  b647315 ctdb-tests: Add tests for idempotence
       via  0f5bfa6 ctdb-tests: Improve test to match exact output
       via  bea1252 ctdb-tests: Fix typo
       via  277aad6 ctdb-tests: Clean database before the test
       via  16f33c9 ctdb-daemon: Fix statistics update macro
       via  b47a244 ctdb-doc: Drop documentation for obsolete tunable
       via  785150a ctdb-tests: Fix CID 1364526 (Argument cannot be negative)
       via  a20c3df ctdb-tests: Fix CID 1364525 (Argument cannot be negative)
       via  6544590 ctdb-tests: Fix CID 1364524 (Argument cannot be negative)
       via  e42d587 ctdb-tests: Fix CID 1364523 (Argument cannot be negative)
       via  13dcaff ctdb-tests: Fix CID 1364522 (Argument cannot be negative)
       via  89b7913 ctdb-tests: Fix CID 1364521 (Argument cannot be negative)
       via  9e2a7f0 ctdb-common: Fix CID 1363227 (Resource leak)
       via  10165c4 ctdb-daemon: Move CTDB VNN structure to IP takeover code
       via  c40fc62 ctdb-ipalloc: Use a cumulative timeout for takeover run stages
       via  ff6a227 ctdb-doc: ctdb_diagnostics(1) tweaks and cross-references
       via  337fc6e ctdb-doc: Integrate ctdb_diagnostics man page into build
       via  7f56384 ctdb-doc: Add ctdb_diagnostics man page
      from  9e676b2 dsdb: Fix CID 1364520 Incorrect expression (EVALUATION_ORDER)

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7b4c8153f0e7c8dfe909993c6c3ec54bbeb0aab5
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 26 20:25:53 2016 +0200

    tevent: version 0.9.28
    
    * performance improvements
    * documentation updates
    * build fixes
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Thu Jul 28 08:45:34 CEST 2016 on sn-devel-144

commit 77d29862721dbf3424d4195bb2307fee4e8126a2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 26 20:23:27 2016 +0200

    talloc: version 2.1.8
    
    * performance improvements
    * build fixes
    * documentation updates
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 2a97fb084f954968263fc2bca726c55d4e1d054f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 26 20:21:21 2016 +0200

    tdb: version 1.3.10
    
    * performance improvements
    * make pthread mutex code more portable
    * builf fixes
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit eb6e32046d88c4eae46fe10487f23ee9f2cb4306
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Jul 22 15:43:58 2016 +0200

    fss_agent: Fix a signed/unsigned mixup
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit f396449e7a1668e6d503b2150ffa06fed6936264
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Jul 14 12:47:16 2016 +0200

    lib: Move "message_send_all" to serverid.c
    
    Trying to trim down messages.c a bit: Sending to all processes that are
    registered in serverid.tdb and filtering to me is not really logic of general
    messaging but more of the serverid code.
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Ralph Boehme <slow at samba.org>

commit 41875c8eab6fe8750c2ddd58df1389f0de88f8ed
Author: Ralph Boehme <slow at samba.org>
Date:   Fri Jul 22 08:29:13 2016 +0200

    s3/notifyd: add async send/recv functions
    
    Previously, without this patch, if notifyd died for whatever reason, it
    would be restarted from smbd. However, if its initialization failed and
    it exitted again, there would be no child entry in smbd for it and it
    wouldn't be attempted to restart it again.
    
    This patch adds async send/recv methods for starting cleanupd that will
    reschedule restart attempt every second in case initilisation failed.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=12022
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 4652a8b911b4c79ca579ab0503bb766548411e2b
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Jul 21 19:08:47 2016 +0200

    s3/cleanupd: use smbd_cleanupd.tdb
    
    Instead of using messaging to send individual cleanup events, it works
    this way:
    
    o parent smbd stores cleanup events (ie exitted children) in
      smbd_cleanup.tdb
    
    o it sends cleanupd an empty MSG_SMB_NOTIFY_CLEANUP message
    
    o cleanupd does a traverse on the smbd_cleanupd.tdb and collects all
      childs in a list
    
    o after the traverse cleanupd walks the list and does the real work
    
    It would have been possible to optimize for the common case by passing
    info about exitted childs with the message (as was done before this
    patch), adding a new message type for triggering a db traverse that
    would be used when cleanupd had to be restarted and cleanup events may
    have been accumulated in cleanup.tdb.
    
    But this could be subject to subtle race conditions and could loose
    events if cleanupd dies randomly.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=12022
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit da61c970587a131a9754ad642a784467d403fabd
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Jul 14 16:31:44 2016 +0200

    s3/smbd: add cleanupd_init_send()/recv()
    
    Previously, without this patch, if cleanupd died for whatever reason, it
    would be restarted from smbd. However, if cleanupd initialization
    failed and it exitted again, there would be no child entry in smbd for
    it and it wouldn't be attempted to restart it again.
    
    This patch adds async send/recv methods for starting cleanupd that will
    reschedule restart attempt every second in case initilisation failed.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=12022
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 9c1cd31c0f931b99d79638fbef5e46f01788f3ca
Author: Ralph Boehme <slow at samba.org>
Date:   Thu Jul 21 16:53:15 2016 +0200

    s3/lib: add smbd_cleanupd.tdb
    
    This will be used between cleanupd and smbd for passing information
    about exitted smbd childs.
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=12022
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit ed81e51cc1633cecfef05b84c0595418db8a384b
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jul 27 11:45:49 2016 +1000

    ctdb-daemon: Fix CID 1364527/8/9: Null pointer dereferences (NULL_RETURNS)
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Volker Lendecke <vl at samba.org>

commit 58bd3f8dca20f6938408f6b6417de9fd46f68844
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jul 27 15:44:20 2016 +1000

    ctdb-tests: Pretend not to ignore return from fgets()
    
    With some compilers and picky compiler settings, ignoring the return
    value of fgets() can cause compilation to fail.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 2f7096494badbd4453d8a85dd3d56ae5614c543c
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jul 27 15:24:58 2016 +1000

    ctdb-tests: Avoid portability issue in porting tests
    
    EUID is bash-only, so this condition always fails on other shells.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 806f54f15dd0ef2375b06c2d19376aae324b8bef
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jul 27 14:41:39 2016 +1000

    ctdb-tests: Remove duplicate EOF terminators in some tool unit tests
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 0b4b2d01cfd35a296354323eb2284d5fd6910fd6
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jul 27 14:40:52 2016 +1000

    ctdb-tests: Avoid division by zero in NFS eventscript unit test
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 9871194e865df05cf8deecf314f733966c2ce536
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 15:21:39 2016 +1000

    ctdb-tests: Removing sleep from porting_tests
    
    This avoids test failures due to timing issues.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit d10771cf4ce07ef593a70ff3a6d5122b2cbe28b5
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 14:59:02 2016 +1000

    ctdb-tests: Do not add $VALGRIND to ctdb command
    
    unit_test wrapper already adds VALGRIND wrapper.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit a86be20872fde8ef9f3c1b602823400501faa6c5
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 14:57:58 2016 +1000

    ctdb-tests: Fix valgrind unintialized error
    
    struct ctdb_dbid has padding and needs to be initialized.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 44bbdbef2ad71fb6c72f15e96a7e1c16eec46943
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 15:38:44 2016 +1000

    WHATSNEW: ctdb updates
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 3fafe48027d3df9ea1f431142a68936f757b41c4
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jun 28 16:11:47 2016 +1000

    ctdb-packaging: Move ctdb configuration to ctdbd.conf
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 3fbb541f9dead881c3ad5688ca7015c3c7624bc4
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Mon Jul 25 15:55:12 2016 +1000

    ctdb-protocol: Deprecate global transaction controls
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 28f62be32e8aa9547d9be19e19f933c1f4828db6
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Mon Jul 25 15:54:16 2016 +1000

    ctdb-protocol: Drop marshalling for global transaction controls
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 24635e955c0a9b2fd1f87f531d526d3c2feba14b
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Mon Jul 25 15:49:20 2016 +1000

    ctdb-client: Drop client code for global transaction controls
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 3314a09aafaa90adc5503c08baa4d6f965a2b7c5
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Mon Jul 25 15:41:34 2016 +1000

    ctdb-daemon: Drop implementation of global transaction controls
    
    These were used in serial recovery and for restoring databases using
    older ctdb tool.  New code uses database specific transaction controls.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 47c400f42cc1eb72e134aefdb24e6dca70d71cad
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Jul 21 14:22:39 2016 +1000

    ctdb-protocol: Deprecate THAW control
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 28b2a6391b3adecd7a8fd47662e7ea6000df306f
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Thu Jul 21 14:17:02 2016 +1000

    ctdb-daemon: Drop the implementation of THAW control
    
    This control was used by the older implementation of tool to restore a
    database from backup.  In the new implemenation of tool, it freezes and thaws
    only the database being restored.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 29b7825dcf82f5f7967bf92f35407186627165c1
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 13:55:41 2016 +1000

    ctdb-tests: Adjust unit test output matching new ctdb
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 70f2573f2a99b013500b82f7e46225fff4a57a2a
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Jul 17 22:45:04 2015 +1000

    ctdb-tool: Add replacement ctdb tool using new client API
    
    New tool breaks some of the tool unit tests due to improved error
    messages.  Those changes are in the following patch.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 199293f4a1e19ffa73e8db8bdca783132675b93f
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 13:34:11 2016 +1000

    ctdb-tool: Remove old ctdb tool
    
    Removing and adding replacement code makes the commits cleaner.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 87b49c913f8e0a334221706976254d852dbb9bfe
Author: Martin Schwenke <martin at meltin.net>
Date:   Wed Jan 22 17:12:09 2014 +1100

    ctdb-daemon: Deletion of IPs is deferred until the next takeover run
    
    This drastically simplifies the code.  "ctdb reloadips" behaves the
    same, since it causes a takeover run immediately after IPs are
    deleted.  "ctdb delip" now needs to be followed with an explicit "ctdb
    ipreallocate".
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 0a759bc3ff3887671981e03e1898acf5da692bc2
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Jul 22 15:41:59 2016 +1000

    ctdb-daemon: Use consistent naming for monitoring mode
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 5dc18882fdbaed627262156dd453e6a8a2c0140f
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 14:50:10 2016 +1000

    ctdb-daemon: Reduce QueueBufferSize from 16k to 1k
    
    This avoids CTDB spending too much time processing multiple packets and
    return to the event loop sooner.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 5d380eff41e85ff00e899ca177de3e4e528d3c31
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Sat May 14 00:25:31 2016 +1000

    ctdb-daemon: Add QueueBufferSize tunable
    
    This controls the maximum size of data ctdb will read from sockets at
    a time.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 57a66ebc8a45354ab96e835a622982a0cc9d87f0
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Jul 22 13:35:00 2016 +1000

    ctdb-protocol: Add function ctdb_sock_addr_same_ip
    
    ... to check if only the addresses are the same.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 76c2208f984bdc1fbf22096f8849691c90fdd566
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Jul 22 14:31:02 2016 +1000

    ctdb-common: Fix parsing of debug level
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit dc065b1f358c8a15f277d5b138070d7251ff7452
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 13:30:18 2016 +1000

    ctdb-tests: Add machinereadable output tests
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 5d34755be384b4a5b6f627cb1b35539e6e8da31d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 14:18:35 2016 +1000

    ctdb-tests: Add more tests for ctdb setdbsticky and setdbreadonly
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit b64731517af503661e9faa3f1080edd435c01400
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 14:17:20 2016 +1000

    ctdb-tests: Add tests for idempotence
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 0f5bfa67b7bb355dd2f4b92cd52af67af7a6ecde
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 14:32:39 2016 +1000

    ctdb-tests: Improve test to match exact output
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit bea12529390fdfd95089183711e371b3eb325d7c
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 13:55:18 2016 +1000

    ctdb-tests: Fix typo
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 277aad6870d51c94a675ccb359bbcd41014d51f8
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Jun 17 18:06:07 2016 +1000

    ctdb-tests: Clean database before the test
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 16f33c992eb164f3c3b942371bb74b095ef2698e
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Fri Mar 27 16:32:11 2015 +1100

    ctdb-daemon: Fix statistics update macro
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit b47a244afb16395fc711dc6e8d710a2908a125cd
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Jul 26 14:53:38 2016 +1000

    ctdb-doc: Drop documentation for obsolete tunable
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 785150a28a91140a8dc50a0a2b752ad15735d067
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:22:45 2016 +1000

    ctdb-tests: Fix CID 1364526 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit a20c3df64955715137aff4f323b5c9e650eb0209
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:22:06 2016 +1000

    ctdb-tests: Fix CID 1364525 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 654459054dc17efdfc784943c91442de9c87f544
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:21:25 2016 +1000

    ctdb-tests: Fix CID 1364524 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit e42d587f100a142200ca5a49fa25818c1cbfcdb7
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:20:21 2016 +1000

    ctdb-tests: Fix CID 1364523 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 13dcaff12c5dfe700462346c42b5aa4a5e18457d
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:19:45 2016 +1000

    ctdb-tests: Fix CID 1364522 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 89b79136a774383f88626635773104914b06fc41
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:19:04 2016 +1000

    ctdb-tests: Fix CID 1364521 (Argument cannot be negative)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 9e2a7f0f850dfdb3d1ebd1a99289b88f7fe365c5
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Wed Jul 27 12:02:19 2016 +1000

    ctdb-common: Fix CID 1363227 (Resource leak)
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>
    Reviewed-by: Martin Schwenke <martin at meltin.net>

commit 10165c48f17ba608fb3e9c2e84e308b061e024c5
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Jun 14 06:44:29 2016 +1000

    ctdb-daemon: Move CTDB VNN structure to IP takeover code
    
    It is only used in this code.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit c40fc62642ff5ac49b75e9af49c299e33dbc9073
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri May 27 15:22:27 2016 +1000

    ctdb-ipalloc: Use a cumulative timeout for takeover run stages
    
    RELEASE_IP sometimes times out because killing TCP connections can
    take a long time.
    
    The aim of the takeover timeout is actually to limit the total amount
    of time for an IP takeover run.  So, calculate a combined timeout
    offset once and use it for each of the RELEASE_IP, TAKEOVER_IP,
    IPREALLOCATED stages.  This gives RELEASE_IP more time to kill TCP
    connections but still limits the total time.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit ff6a22757a82d5b3a1bdc7199f7cbde6576f217b
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Jul 26 10:58:36 2016 +1000

    ctdb-doc: ctdb_diagnostics(1) tweaks and cross-references
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 337fc6e2e767ae6d2bd58624f3fceebf41759250
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri Feb 12 19:40:43 2016 +1100

    ctdb-doc: Integrate ctdb_diagnostics man page into build
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 7f56384a8d9ff0e70969192491e4fdbd3c35391b
Author: martijn van brummelen <martijn at brumit.nl>
Date:   Fri Oct 9 15:59:50 2015 +0200

    ctdb-doc: Add ctdb_diagnostics man page
    
    Signed-off-by: martijn van brummelen <martijn at brumit.nl>
    Reviewed-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

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

Summary of changes:
 WHATSNEW.txt                                       |    7 +
 ctdb/client/client.h                               |   17 -
 ctdb/client/client_control_sync.c                  |   89 -
 ctdb/common/ctdb_io.c                              |   19 +-
 ctdb/common/logging.c                              |    4 +
 ctdb/common/system_util.c                          |    2 +
 ctdb/common/tunable.c                              |    2 +
 ctdb/config/{ctdb.sysconfig => ctdbd.conf}         |    6 +-
 ctdb/doc/Makefile                                  |    1 +
 ctdb/doc/ctdb-tunables.7.xml                       |   30 +-
 ctdb/doc/ctdb.1.xml                                |   19 +-
 ctdb/doc/ctdb.7.xml                                |    3 +
 ctdb/doc/ctdb_diagnostics.1.xml                    |  128 +
 ctdb/include/ctdb_private.h                        |   44 +-
 ctdb/packaging/RPM/ctdb.spec.in                    |    6 +-
 ctdb/protocol/protocol.h                           |   12 +-
 ctdb/protocol/protocol_api.h                       |   13 +-
 ctdb/protocol/protocol_client.c                    |   63 -
 ctdb/protocol/protocol_control.c                   |   38 -
 ctdb/protocol/protocol_util.c                      |   28 +-
 ctdb/server/ctdb_control.c                         |   15 +-
 ctdb/server/ctdb_daemon.c                          |    8 +
 ctdb/server/ctdb_freeze.c                          |  100 -
 ctdb/server/ctdb_monitor.c                         |    4 +-
 ctdb/server/ctdb_takeover.c                        |  120 +-
 ctdb/server/ctdbd.c                                |    4 +
 ctdb/tests/complex/11_ctdb_delip_removes_ip.sh     |    1 +
 ctdb/tests/cunit/porting_tests_001.sh              |    3 +-
 ctdb/tests/eventscripts/scripts/local.sh           |    3 +-
 ctdb/tests/simple/16_ctdb_config_add_ip.sh         |    1 +
 ctdb/tests/simple/17_ctdb_config_delete_ip.sh      |    1 +
 ctdb/tests/simple/20_delip_iface_gc.sh             |    1 +
 ctdb/tests/simple/53_ctdb_transaction.sh           |    3 +
 ctdb/tests/simple/54_ctdb_transaction_recovery.sh  |    3 +
 ctdb/tests/simple/60_recoverd_missing_ip.sh        |    1 +
 ctdb/tests/src/fake_ctdbd.c                        |   15 +-
 ctdb/tests/src/fetch_loop.c                        |    3 +-
 ctdb/tests/src/fetch_readonly_loop.c               |    3 +-
 ctdb/tests/src/fetch_ring.c                        |    3 +-
 ctdb/tests/src/g_lock_loop.c                       |    3 +-
 ctdb/tests/src/message_ring.c                      |    3 +-
 ctdb/tests/src/porting_tests.c                     |   11 +-
 ctdb/tests/src/protocol_client_test.c              |   40 -
 ctdb/tests/src/transaction_loop.c                  |    3 +-
 ctdb/tests/tool/ctdb.continue.003.sh               |    1 -
 ctdb/tests/tool/ctdb.getcapabilities.003.sh        |    9 +-
 ctdb/tests/tool/ctdb.getvar.002.sh                 |    8 +-
 ctdb/tests/tool/ctdb.listvars.001.sh               |   64 +-
 ctdb/tests/tool/ctdb.lvs.008.sh                    |   46 +-
 ctdb/tests/tool/ctdb.nodestatus.001.sh             |    9 +-
 ctdb/tests/tool/ctdb.nodestatus.002.sh             |    9 +-
 ctdb/tests/tool/ctdb.reloadnodes.003.sh            |    3 +-
 ctdb/tests/tool/ctdb.setdbreadonly.001.sh          |   14 +
 ctdb/tests/tool/ctdb.setdbreadonly.003.sh          |    9 +-
 ...dbreadonly.002.sh => ctdb.setdbreadonly.004.sh} |    6 +-
 ctdb/tests/tool/ctdb.setdbsticky.001.sh            |   14 +
 ....setdbsticky.001.sh => ctdb.setdbsticky.002.sh} |    4 +-
 ctdb/tests/tool/ctdb.setdbsticky.003.sh            |    9 +-
 ....setdbsticky.001.sh => ctdb.setdbsticky.004.sh} |    8 +-
 ctdb/tests/tool/ctdb.setifacelink.002.sh           |    9 +-
 ctdb/tests/tool/ctdb.setvar.002.sh                 |    8 +-
 ctdb/tests/tool/ctdb.status.001.sh                 |    9 +-
 ctdb/tests/tool/ctdb.status.002.sh                 |    9 +-
 ctdb/tests/tool/ctdb.stop.002.sh                   |    1 -
 ctdb/tests/tool/ctdb.stop.003.sh                   |    1 -
 ctdb/tests/tool/scripts/local.sh                   |    2 +-
 ctdb/tools/ctdb.c                                  | 9499 +++++++++++---------
 ctdb/wscript                                       |    8 +-
 ...oc-util-2.1.6.sigs => pytalloc-util-2.1.8.sigs} |    0
 ...py3-2.1.6.sigs => pytalloc-util.py3-2.1.8.sigs} |    0
 .../ABI/{talloc-2.1.4.sigs => talloc-2.1.8.sigs}   |    0
 lib/talloc/wscript                                 |    2 +-
 lib/tdb/ABI/{tdb-1.3.5.sigs => tdb-1.3.10.sigs}    |    0
 lib/tdb/wscript                                    |    2 +-
 .../ABI/{tevent-0.9.26.sigs => tevent-0.9.29.sigs} |    0
 lib/tevent/wscript                                 |    2 +-
 source3/include/messages.h                         |   15 -
 source3/include/serverid.h                         |   18 +
 source3/lib/cleanupdb.c                            |  170 +
 .../{winbindd/winbindd_async.c => lib/cleanupdb.h} |   30 +-
 source3/lib/messages.c                             |  102 -
 source3/lib/serverid.c                             |   95 +
 source3/passdb/pdb_interface.c                     |    1 +
 source3/rpc_server/fss/srv_fss_agent.c             |    3 +-
 source3/rpc_server/srvsvc/srv_srvsvc_nt.c          |    1 +
 source3/smbd/server.c                              |  257 +-
 source3/smbd/smbd_cleanupd.c                       |  120 +-
 source3/smbd/statcache.c                           |    1 +
 source3/wscript_build                              |    3 +-
 89 files changed, 6213 insertions(+), 5251 deletions(-)
 rename ctdb/config/{ctdb.sysconfig => ctdbd.conf} (86%)
 create mode 100644 ctdb/doc/ctdb_diagnostics.1.xml
 copy ctdb/tests/tool/{ctdb.setdbreadonly.002.sh => ctdb.setdbreadonly.004.sh} (86%)
 copy ctdb/tests/tool/{ctdb.setdbsticky.001.sh => ctdb.setdbsticky.002.sh} (91%)
 copy ctdb/tests/tool/{ctdb.setdbsticky.001.sh => ctdb.setdbsticky.004.sh} (83%)
 copy lib/talloc/ABI/{pytalloc-util-2.1.6.sigs => pytalloc-util-2.1.8.sigs} (100%)
 copy lib/talloc/ABI/{pytalloc-util.py3-2.1.6.sigs => pytalloc-util.py3-2.1.8.sigs} (100%)
 copy lib/talloc/ABI/{talloc-2.1.4.sigs => talloc-2.1.8.sigs} (100%)
 copy lib/tdb/ABI/{tdb-1.3.5.sigs => tdb-1.3.10.sigs} (100%)
 copy lib/tevent/ABI/{tevent-0.9.26.sigs => tevent-0.9.29.sigs} (100%)
 create mode 100644 source3/lib/cleanupdb.c
 copy source3/{winbindd/winbindd_async.c => lib/cleanupdb.h} (66%)


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 178c882..81cbef2 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -202,6 +202,13 @@ logon using a smartcard to work on Windows clients.
 CTDB changes
 ------------
 
+* New improved ctdb tool
+
+  ctdb tool has been completely rewritten using new client API.
+  Usage messages are much improved.
+
+* Sample CTDB configuration file is installed as ctdbd.conf.
+
 * The use of real-time scheduling when taking locks has been narrowed
   to limit potential performance impacts on nodes
 
diff --git a/ctdb/client/client.h b/ctdb/client/client.h
index 4cae477..3d6292c 100644
--- a/ctdb/client/client.h
+++ b/ctdb/client/client.h
@@ -412,17 +412,6 @@ int ctdb_ctrl_send_gratuitous_arp(TALLOC_CTX *mem_ctx,
 				  int destnode, struct timeval timeout,
 				  struct ctdb_addr_info *addr_info);
 
-int ctdb_ctrl_transaction_start(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
-				struct ctdb_client_context *client,
-				int destnode, struct timeval timeout,
-				uint32_t tid);
-
-int ctdb_ctrl_transaction_commit(TALLOC_CTX *mem_ctx,
-				 struct tevent_context *ev,
-				 struct ctdb_client_context *client,
-				 int destnode, struct timeval timeout,
-				 uint32_t tid);
-
 int ctdb_ctrl_wipe_database(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 			    struct ctdb_client_context *client,
 			    int destnode, struct timeval timeout,
@@ -548,12 +537,6 @@ int ctdb_ctrl_get_ban_state(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 			    int destnode, struct timeval timeout,
 			    struct ctdb_ban_state **ban_state);
 
-int ctdb_ctrl_transaction_cancel(TALLOC_CTX *mem_ctx,
-				 struct tevent_context *ev,
-				 struct ctdb_client_context *client,
-				 int destnode, struct timeval timeout,
-				 uint32_t tid);
-
 int ctdb_ctrl_register_notify(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 			      struct ctdb_client_context *client,
 			      int destnode, struct timeval timeout,
diff --git a/ctdb/client/client_control_sync.c b/ctdb/client/client_control_sync.c
index 923b717..07f23bf 100644
--- a/ctdb/client/client_control_sync.c
+++ b/ctdb/client/client_control_sync.c
@@ -1177,66 +1177,6 @@ int ctdb_ctrl_send_gratuitous_arp(TALLOC_CTX *mem_ctx,
 	return 0;
 }
 
-int ctdb_ctrl_transaction_start(TALLOC_CTX *mem_ctx,
-				struct tevent_context *ev,
-				struct ctdb_client_context *client,
-				int destnode, struct timeval timeout,
-				uint32_t tid)
-{
-	struct ctdb_req_control request;
-	struct ctdb_reply_control *reply;
-	int ret;
-
-	ctdb_req_control_transaction_start(&request, tid);
-	ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
-				  &request, &reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_START failed to node %u, ret=%d\n",
-		       destnode, ret));
-		return ret;
-	}
-
-	ret = ctdb_reply_control_transaction_start(reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_START failed, ret=%d\n", ret));
-		return ret;
-	}
-
-	return 0;
-}
-
-int ctdb_ctrl_transaction_commit(TALLOC_CTX *mem_ctx,
-				 struct tevent_context *ev,
-				 struct ctdb_client_context *client,
-				 int destnode, struct timeval timeout,
-				 uint32_t tid)
-{
-	struct ctdb_req_control request;
-	struct ctdb_reply_control *reply;
-	int ret;
-
-	ctdb_req_control_transaction_commit(&request, tid);
-	ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
-				  &request, &reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_COMMIT failed to node %u, ret=%d\n",
-		       destnode, ret));
-		return ret;
-	}
-
-	ret = ctdb_reply_control_transaction_commit(reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_COMMIT failed, ret=%d\n", ret));
-		return ret;
-	}
-
-	return 0;
-}
-
 int ctdb_ctrl_wipe_database(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 			    struct ctdb_client_context *client,
 			    int destnode, struct timeval timeout,
@@ -1990,35 +1930,6 @@ int ctdb_ctrl_get_ban_state(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 	return 0;
 }
 
-int ctdb_ctrl_transaction_cancel(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
-				 struct ctdb_client_context *client,
-				 int destnode, struct timeval timeout,
-				 uint32_t tid)
-{
-	struct ctdb_req_control request;
-	struct ctdb_reply_control *reply;
-	int ret;
-
-	ctdb_req_control_transaction_cancel(&request, tid);
-	ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
-				  &request, &reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_CANCEL failed to node %u, ret=%d\n",
-		       destnode, ret));
-		return ret;
-	}
-
-	ret = ctdb_reply_control_transaction_cancel(reply);
-	if (ret != 0) {
-		DEBUG(DEBUG_ERR,
-		      ("Control TRANSACTION_CANCEL failed, ret=%d\n", ret));
-		return ret;
-	}
-
-	return 0;
-}
-
 int ctdb_ctrl_register_notify(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 			      struct ctdb_client_context *client,
 			      int destnode, struct timeval timeout,
diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c
index 894935e..806c57f 100644
--- a/ctdb/common/ctdb_io.c
+++ b/ctdb/common/ctdb_io.c
@@ -38,8 +38,6 @@
 #include "common/logging.h"
 #include "common/common.h"
 
-#define QUEUE_BUFFER_SIZE	(16*1024)
-
 /* structures for packet queueing - see common/ctdb_io.c */
 struct ctdb_buffer {
 	uint8_t *data;
@@ -69,6 +67,7 @@ struct ctdb_queue {
 	ctdb_queue_cb_fn_t callback;
 	bool *destroyed;
 	const char *name;
+	uint32_t buffer_size;
 };
 
 
@@ -111,7 +110,7 @@ static void queue_process(struct ctdb_queue *queue)
 	}
 
 	if (queue->buffer.length < pkt_size) {
-		if (pkt_size > QUEUE_BUFFER_SIZE) {
+		if (pkt_size > queue->buffer_size) {
 			queue->buffer.extend = pkt_size;
 		}
 		return;
@@ -138,7 +137,7 @@ static void queue_process(struct ctdb_queue *queue)
 		tevent_schedule_immediate(queue->im, queue->ctdb->ev,
 					  queue_process_event, queue);
 	} else {
-		if (queue->buffer.size > QUEUE_BUFFER_SIZE) {
+		if (queue->buffer.size > queue->buffer_size) {
 			TALLOC_FREE(queue->buffer.data);
 			queue->buffer.size = 0;
 		}
@@ -181,12 +180,12 @@ static void queue_io_read(struct ctdb_queue *queue)
 
 	if (queue->buffer.data == NULL) {
 		/* starting fresh, allocate buf to read data */
-		queue->buffer.data = talloc_size(queue, QUEUE_BUFFER_SIZE);
+		queue->buffer.data = talloc_size(queue, queue->buffer_size);
 		if (queue->buffer.data == NULL) {
 			DEBUG(DEBUG_ERR, ("read error alloc failed for %u\n", num_ready));
 			goto failed;
 		}
-		queue->buffer.size = QUEUE_BUFFER_SIZE;
+		queue->buffer.size = queue->buffer_size;
 	} else if (queue->buffer.extend > 0) {
 		/* extending buffer */
 		data = talloc_realloc_size(queue, queue->buffer.data, queue->buffer.extend);
@@ -453,5 +452,13 @@ struct ctdb_queue *ctdb_queue_setup(struct ctdb_context *ctdb,
 	}
 	talloc_set_destructor(queue, queue_destructor);
 
+	queue->buffer_size = ctdb->tunable.queue_buffer_size;
+	/* In client code, ctdb->tunable is not initialized.
+	 * This does not affect recovery daemon.
+	 */
+	if (queue->buffer_size == 0) {
+		queue->buffer_size = 1024;
+	}
+
 	return queue;
 }
diff --git a/ctdb/common/logging.c b/ctdb/common/logging.c
index f230471..4b7b4e5 100644
--- a/ctdb/common/logging.c
+++ b/ctdb/common/logging.c
@@ -37,6 +37,10 @@ bool debug_level_parse(const char *log_string, enum debug_level *log_level)
 {
 	int i;
 
+	if (log_string == NULL) {
+		return false;
+	}
+
 	if (isdigit(log_string[0])) {
 		int level = atoi(log_string);
 
diff --git a/ctdb/common/system_util.c b/ctdb/common/system_util.c
index 91bd72e..ea53f5d 100644
--- a/ctdb/common/system_util.c
+++ b/ctdb/common/system_util.c
@@ -434,11 +434,13 @@ int ctdb_parse_connections(FILE *fp, TALLOC_CTX *mem_ctx,
 
 		if (! parse_ip_port(src, &conn[num].src)) {
 			DEBUG(DEBUG_ERR, ("Invalid IP address %s\n", src));
+			talloc_free(conn);
 			return EINVAL;
 		}
 
 		if (! parse_ip_port(dst, &conn[num].dst)) {
 			DEBUG(DEBUG_ERR, ("Invalid IP address %s\n", dst));
+			talloc_free(conn);
 			return EINVAL;
 		}
 
diff --git a/ctdb/common/tunable.c b/ctdb/common/tunable.c
index c3514ac..44e0cc5 100644
--- a/ctdb/common/tunable.c
+++ b/ctdb/common/tunable.c
@@ -151,6 +151,8 @@ static struct {
 		offsetof(struct ctdb_tunable_list, lock_processes_per_db) },
 	{ "RecBufferSizeLimit", 1000*1000, false,
 		offsetof(struct ctdb_tunable_list, rec_buffer_size_limit) },
+	{ "QueueBufferSize", 1024, false,
+		offsetof(struct ctdb_tunable_list, queue_buffer_size) },
 	{ NULL, 0, true, }
 };
 
diff --git a/ctdb/config/ctdb.sysconfig b/ctdb/config/ctdbd.conf
similarity index 86%
rename from ctdb/config/ctdb.sysconfig
rename to ctdb/config/ctdbd.conf
index 0a3a23e..e75c65c 100644
--- a/ctdb/config/ctdb.sysconfig
+++ b/ctdb/config/ctdbd.conf
@@ -6,13 +6,13 @@
 #
 # Do NOT run CTDB without a recovery lock file unless you know exactly
 # what you are doing.
-CTDB_RECOVERY_LOCK=/some/place/on/shared/storage
+# CTDB_RECOVERY_LOCK=/some/place/on/shared/storage
 
 # List of nodes in the cluster.  Default is below.
 # CTDB_NODES=/etc/ctdb/nodes
 
 # List of public addresses for providing NAS services.  No default.
-CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
+# CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
 
 # What services should CTDB manage?  Default is none.
 # CTDB_MANAGES_SAMBA=yes
@@ -29,4 +29,4 @@ CTDB_PUBLIC_ADDRESSES=/etc/ctdb/public_addresses
 # CTDB_DEBUGLEVEL=ERR
 
 # Set some CTDB tunable variables during CTDB startup?
-# CTDB_SET_TraverseTimeout=60
+# CTDB_SET_TDBMutexEnabled=1
diff --git a/ctdb/doc/Makefile b/ctdb/doc/Makefile
index b2240a3..f0f8215 100644
--- a/ctdb/doc/Makefile
+++ b/ctdb/doc/Makefile
@@ -1,4 +1,5 @@
 DOCS = ctdb.1 ctdb.1.html \
+	ctdb_diagnostics.1 ctdb_diagnostics.1.html \
 	ctdbd.1 ctdbd.1.html \
 	ctdbd_wrapper.1 ctdbd_wrapper.1.html \
 	onnode.1 onnode.1.html \
diff --git a/ctdb/doc/ctdb-tunables.7.xml b/ctdb/doc/ctdb-tunables.7.xml
index d2d2616..088e822 100644
--- a/ctdb/doc/ctdb-tunables.7.xml
+++ b/ctdb/doc/ctdb-tunables.7.xml
@@ -394,6 +394,22 @@
     </refsect2>
 
     <refsect2>
+      <title>QueueBufferSize</title>
+      <para>Default: 1024</para>
+      <para>
+	This is the maximum amount of data (in bytes) ctdb will read
+	from a socket at a time.
+      </para>
+      <para>
+	For a busy setup, if ctdb is not able to process the TCP sockets
+	fast enough (large amount of data in Recv-Q for tcp sockets),
+	then this tunable value should be increased.  However, large
+	values can keep ctdb busy processing packets and prevent ctdb
+	from handling other events.
+      </para>
+    </refsect2>
+
+    <refsect2>
       <title>RecBufferSizeLimit</title>
       <para>Default: 1000000</para>
       <para>
@@ -538,20 +554,6 @@
     </refsect2>
 
     <refsect2>
-      <title>Samba3AvoidDeadlocks</title>
-      <para>Default: 0</para>
-      <para>
-        If set to non-zero, enable code that prevents deadlocks with Samba
-        (only for Samba 3.x).
-      </para> <para>
-	This should be set to 1 only when using Samba version 3.x
-	to enable special code in ctdb to avoid deadlock with Samba
-	version 3.x.  This code is not required for Samba version 4.x
-	and must not be enabled for Samba 4.x.
-      </para>
-    </refsect2>
-
-    <refsect2>
       <title>SeqnumInterval</title>
       <para>Default: 1000</para>
       <para>
diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml
index 8a5278e..7878c4c 100644
--- a/ctdb/doc/ctdb.1.xml
+++ b/ctdb/doc/ctdb.1.xml
@@ -1044,12 +1044,19 @@ DB Statistics: locking.tdb
     <refsect2>
       <title>delip <parameter>IPADDR</parameter></title>
       <para>
-	This command is used to remove a public ip from a node during runtime.
-	If this public ip is currently hosted by the node it being removed from, the ip will first be failed over to another node, if possible, before it is removed.
-      </para>
-      <para>
-	Note that this only updates the runtime instance of ctdb. Any changes will be lost next time ctdb is restarted and the public addresses file is re-read.
-	If you want this change to be permanent you must also update the public addresses file manually.
+	This command flags IPADDR for deletion from a node at runtime.
+	It should be followed by a <command>ctdb
+	ipreallocate</command>.  If IPADDR is currently hosted by the
+	node it is being removed from, this ensures that the IP will
+	first be failed over to another node, if possible, and that it
+	is then actually removed.
+      </para>
+      <para>
+	Note that this only updates the runtime instance of CTDB.  Any
+	changes will be lost next time CTDB is restarted and the
+	public addresses file is re-read.  If you want this change to
+	be permanent you must also update the public addresses file
+	manually.
       </para>
     </refsect2>
 
diff --git a/ctdb/doc/ctdb.7.xml b/ctdb/doc/ctdb.7.xml
index 1421143..978df90 100644
--- a/ctdb/doc/ctdb.7.xml
+++ b/ctdb/doc/ctdb.7.xml
@@ -1056,6 +1056,9 @@ CTDB_CAPABILITY_RECMASTER=no
       <citerefentry><refentrytitle>ctdbd_wrapper</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
+      <citerefentry><refentrytitle>ctdb_diagnostics</refentrytitle>
+      <manvolnum>1</manvolnum></citerefentry>,
+
       <citerefentry><refentrytitle>ltdbtool</refentrytitle>
       <manvolnum>1</manvolnum></citerefentry>,
 
diff --git a/ctdb/doc/ctdb_diagnostics.1.xml b/ctdb/doc/ctdb_diagnostics.1.xml
new file mode 100644
index 0000000..274c70d
--- /dev/null
+++ b/ctdb/doc/ctdb_diagnostics.1.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE refentry
+	PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+	"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+<refentry id="ctdb_diagnostics.1">
+
+  <refmeta>
+    <refentrytitle>ctdb_diagnostics</refentrytitle>
+    <manvolnum>1</manvolnum>
+    <refmiscinfo class="source">ctdb</refmiscinfo>
+    <refmiscinfo class="manual">CTDB - clustered TDB database</refmiscinfo>
+  </refmeta>
+
+  <refnamediv>
+    <refname>ctdb_diagnostics</refname>
+    <refpurpose>dump diagnostic information about CTDB/Samba installation</refpurpose>
+  </refnamediv>
+
+  <refsynopsisdiv>
+    <cmdsynopsis>
+      <command>ctdb_diagnostics</command>
+      <arg>OPTIONS</arg>
+	  <arg choice="plain">...</arg>
+    </cmdsynopsis>
+  </refsynopsisdiv>
+
+  <refsect1>
+    <title>DESCRIPTION</title>
+    <para>
+      ctdb_diagnostics is used to dump diagnostic information about a
+      clustered Samba installation.  This includes configuration
+      files, output of relevant commands and logs.  This information
+      can be used to check the correctness of the configuration and to
+      diagnose problems.
+    </para>
+  </refsect1>
+
+  <refsect1>
+    <title>OPTIONS</title>
+
+    <variablelist>
+
+      <varlistentry>
+	    <term>-n <nodes></term>
+	    <listitem>
+	    <para>
+	      Comma separated list of nodes to operate on
+	    </para>
+	    </listitem>
+      </varlistentry>
+
+      <varlistentry>
+	    <term>-c</term>
+        <listitem>
+        <para>
+	      Ignore comment lines (starting with '#') in file comparisons
+	    </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+	    <term>-w</term>
+	    <listitem>
+          <para>
+	      Ignore whitespace in file comparisons
+	      </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+	    <term>--no-ads</term>
+	    <listitem>
+          <para>
+	      Do not use commands that assume an Active Directory Server
+	      </para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
+
+  </refsect1>
+
+  <refsect1>
+    <title>SEE ALSO</title>
+    <para>
+      <citerefentry><refentrytitle>ctdb</refentrytitle>
+      <manvolnum>1</manvolnum></citerefentry>,
+      <citerefentry><refentrytitle>ctdb</refentrytitle>
+      <manvolnum>7</manvolnum></citerefentry>,


-- 
Samba Shared Repository



More information about the samba-cvs mailing list