[SCM] CTDB repository - annotated tag ctdb-2.5.6 created - ctdb-2.5.6
The annotated tag, ctdb-2.5.6 has been created at 3e7f5c755b5d36bea4ddf60c20ee2162391a6430 (tag) tagging ca4134e76f5b8a9e823bdd5e07fdedfcd3ec57c3 (commit) replaces ctdb-2.5.5 tagged by Amitay Isaacs on Wed Mar 30 16:30:34 2016 +1100 - Log - new version 2.5.6 Amitay Isaacs (23): recoverd: Fix typo in comment daemon: Drop tunable that is no longer in use scripts: Use tcp connection for checking RPC services tests: Switch to tcp check in rpcinfo stub locking: Set destructor when lock_context is created locking: Avoid memory leak in the failure case locking: Avoid resetting talloc destructor locking: Add a comment to explain auto_mark usage daemon: Fix valgrind invalid read error in db_statistics control daemon: Avoid double-free during monitor cancellation daemon: Return correct sequence number for CONTROL_GET_DB_SEQNUM tool: Correctly print timed out event scripts output daemon: Correctly process the exit code from failed eventscripts client: Return the correct status sent from the daemon banning: If node is already banned, do not run ctdb_local_node_got_banned() system: Remove unused system specific calls daemon: Reset database statistics when resetting statistics scripts: Run tdb checker under timeout command pmda: Add missing prototype declaration for non-static function common: Protocol argument must be in host order for socket() call common: Use documented names for protocol family in socket() common: For AF_PACKET socket types, protocol is in network order client: Increase the timeout for TRANS3_COMMIT control Christof Schmitt (3): Accept the key in hex format for the pstore command Create helper function for optional hex input Accept hex format for pdelete and ptrans commands David Disseldorp (1): check for talloc_asprintf() failure Gregor Beck (2): daemon take a shortcut in all_nodes_are_disabled() daemon avoid goto ctdb_remove_orphaned_ifaces() Martin Schwenke (35): scripts: Respect $RPCMOUNTDOPTS when restarting rpc.mountd scripts: Add alternative network family monitoring for NFS recoverd: Add new function clear_ip_assignment_tree() recoverd: Clear IP assignment tree on election loss daemon: Promote debug messages about --start-as-* to NOTICE level scripts: Support monitoring of interestingly named VLANs on bonds tests: Interface number in "ip link show" stub defaults to 42 tests: Add VLAN support to the "ip link" stub tests: Add some 10.interfaces VLAN tests tools: Avoiding printing "(null)" on "ctdb eventscript" error daemon: Improve error messages when eventscript control is cancelled daemon: Allow a new monitor event to cancel one already in progress daemon: Ignore SIGUSR1 daemon: Check if updates are in flight when releasing all IPs tests: Run transaction tests with externally imposed timeout scripts: Improve error handling for 50.samba testparm failure scripts: Drop use of "smbcontrol winbindd ip-dropped ..." scripts: Improve CTDB wrapper shutdown code scripts: Add support for CTDB_DBDIR in tmpfs scripts: Fix CTDB_DBDIR=tmpfs support recoverd: Optimise check for rebalance candidates in LCP2 recoverd: LCP2 cleanups scripts: New function ctdb_get_pnn() does cached retrieval of PNN tests: New function ctdb_set_pnn() to change PNN scripts: Changed uses of "ctdb xpnn" to ctdb_get_pnn() scripts: Replace uses of "ctdb pnn" with ctdb_get_pnn() scripts: New configuration variable CTDB_NODE_ADDRESS Revert "ctdb-recoverd: Abort when daemon can take recovery lock during recovery" scripts: Create the directory containing the recovery lock scripts: Only write to /proc route flush files if they exist scripts: Fix regression in VLAN interface support daemon: Drop the "schedule for deletion" messages to DEBUG level daemon: Don't leak memory if not using recovery lock scripts: Fix regression in updateip code Update NEWS Michael Adam (2): vacuum: revert "Do not delete VACUUM MIGRATED records immediately" build: fix building with external libtdb Rajesh Joseph (2): Coverity fix for CID 1125625 Coverity fix for CID 1125630 Ralph Boehme (1): ping_pong: add -l option Stefan Metzmacher (5): locking: Avoid memory corruption in ctdb_lock_context_destructor locking: Set the lock_ctx->request to NULL when request is freed locking: make process_callbacks() more robust locking: move all auto_mark logic into process_callbacks() ib: make sure the tevent_fd is removed before the fd is closed Volker Lendecke (10): Fix CID 1138341 Resource leak Fix CID 1138340 Resource leak
[SCM] CTDB repository - branch 2.5 updated - ctdb-2.5.5-84-gca4134e
The branch, 2.5 has been updated via ca4134e76f5b8a9e823bdd5e07fdedfcd3ec57c3 (commit) from 817199f0535d068a8f3ad558cbccc0f446807ad6 (commit) https://git.samba.org/?p=ctdb.git;a=shortlog;h=2.5 - Log - commit ca4134e76f5b8a9e823bdd5e07fdedfcd3ec57c3 Author: Amitay IsaacsDate: Thu Mar 10 18:01:31 2016 +1100 client: Increase the timeout for TRANS3_COMMIT control On a busy system, TRANS3_COMMIT control can take upto or longer than 3 seconds. On timeout, there are few possible outcomes. 1. The transaction has completed on all nodes and TRANS3_COMMIT control has returned. In such a case, there is no problem. 2. The transaction has completed on the local node, but TRANS3_COMMIT control is still active. In such a case, ctdb_transaction_commit() can return successfully. If this is being called from ctdb, then ctdb will exit. This will cause ctdb daemon to trigger recovery since the client exited while transaction is active. This will cause unnecessary recovery. 3. Database recovery was started and ctdb_transaction_commit() will retry till the recovery completes the transaction. Increasing the timeout to 30 seconds will avoid the spurious database recoveries when TRANS3_COMMIT control takes longer to finish. Signed-off-by: Amitay Isaacs Reviewed-by: Volker Lendecke Autobuild-User(master): Volker Lendecke Autobuild-Date(master): Fri Mar 11 19:59:53 CET 2016 on sn-devel-144 (Imported from commit ad5b9c3df2f2e3c93642fb1c069a6f4c56eb94f4) --- Summary of changes: client/ctdb_client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Changeset truncated at 500 lines: diff --git a/client/ctdb_client.c b/client/ctdb_client.c index d09e1c6..cc96d98 100644 --- a/client/ctdb_client.c +++ b/client/ctdb_client.c @@ -4320,7 +4320,7 @@ int ctdb_transaction_commit(struct ctdb_transaction_handle *h) } again: - timeout = timeval_current_ofs(3,0); + timeout = timeval_current_ofs(30,0); ret = ctdb_control(h->ctdb_db->ctdb, CTDB_CURRENT_NODE, h->ctdb_db->db_id, CTDB_CONTROL_TRANS3_COMMIT, 0, -- CTDB repository
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0408/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0408/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0408/samba.stdout The top commit at the time of the failure was: commit a7a77e2f43a5baa00e104037b20487f28aabe866 Author: Ralph BoehmeDate: Sat Mar 26 12:43:55 2016 +0100 tdb: avoid a race condition when checking for robust mutexes This fixes a race between calling waitpid() in two places (SIGCHLD the signal handler and the rendezvous code when waiting for the child to terminate), by - blocking SIGCHLD before installing our signal handler - in the rendezvous code call sigssuspend() which unblocks SIGCHLD and suspends the thread and waits for signal delivery BUG: https://bugzilla.samba.org/show_bug.cgi?id=11808 Signed-off-by: Ralph Boehme Reviewed-by: Uri Simchoni Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Mar 29 16:04:19 CEST 2016 on sn-devel-144
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0008/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0008/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-30-0008/samba.stdout The top commit at the time of the failure was: commit a7a77e2f43a5baa00e104037b20487f28aabe866 Author: Ralph BoehmeDate: Sat Mar 26 12:43:55 2016 +0100 tdb: avoid a race condition when checking for robust mutexes This fixes a race between calling waitpid() in two places (SIGCHLD the signal handler and the rendezvous code when waiting for the child to terminate), by - blocking SIGCHLD before installing our signal handler - in the rendezvous code call sigssuspend() which unblocks SIGCHLD and suspends the thread and waits for signal delivery BUG: https://bugzilla.samba.org/show_bug.cgi?id=11808 Signed-off-by: Ralph Boehme Reviewed-by: Uri Simchoni Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Mar 29 16:04:19 CEST 2016 on sn-devel-144
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-2008/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-2008/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-2008/samba.stdout The top commit at the time of the failure was: commit a7a77e2f43a5baa00e104037b20487f28aabe866 Author: Ralph BoehmeDate: Sat Mar 26 12:43:55 2016 +0100 tdb: avoid a race condition when checking for robust mutexes This fixes a race between calling waitpid() in two places (SIGCHLD the signal handler and the rendezvous code when waiting for the child to terminate), by - blocking SIGCHLD before installing our signal handler - in the rendezvous code call sigssuspend() which unblocks SIGCHLD and suspends the thread and waits for signal delivery BUG: https://bugzilla.samba.org/show_bug.cgi?id=11808 Signed-off-by: Ralph Boehme Reviewed-by: Uri Simchoni Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Mar 29 16:04:19 CEST 2016 on sn-devel-144
[SCM] Samba Shared Repository - branch master updated
The branch, master has been updated via a7a77e2 tdb: avoid a race condition when checking for robust mutexes from aa81199 vfs_glusterfs: call clock_gettime_mono() only on profile-enabled build https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log - commit a7a77e2f43a5baa00e104037b20487f28aabe866 Author: Ralph BoehmeDate: Sat Mar 26 12:43:55 2016 +0100 tdb: avoid a race condition when checking for robust mutexes This fixes a race between calling waitpid() in two places (SIGCHLD the signal handler and the rendezvous code when waiting for the child to terminate), by - blocking SIGCHLD before installing our signal handler - in the rendezvous code call sigssuspend() which unblocks SIGCHLD and suspends the thread and waits for signal delivery BUG: https://bugzilla.samba.org/show_bug.cgi?id=11808 Signed-off-by: Ralph Boehme Reviewed-by: Uri Simchoni Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Tue Mar 29 16:04:19 CEST 2016 on sn-devel-144 --- Summary of changes: lib/tdb/common/mutex.c | 60 +++--- 1 file changed, 32 insertions(+), 28 deletions(-) Changeset truncated at 500 lines: diff --git a/lib/tdb/common/mutex.c b/lib/tdb/common/mutex.c index fae43d4..e57031d 100644 --- a/lib/tdb/common/mutex.c +++ b/lib/tdb/common/mutex.c @@ -775,8 +775,8 @@ _PUBLIC_ bool tdb_runtime_check_for_robust_mutexes(void) ssize_t nread; char c = 0; bool ok; - int status; static bool initialized; + sigset_t mask, old_mask, suspend_mask; if (initialized) { return tdb_mutex_locking_cached; @@ -828,9 +828,22 @@ _PUBLIC_ bool tdb_runtime_check_for_robust_mutexes(void) goto cleanup_ma; } + /* +* Block SIGCHLD so we can atomically wait for it later with +* sigsuspend() +*/ + sigemptyset(); + sigaddset(, SIGCHLD); + ret = pthread_sigmask(SIG_BLOCK, , _mask); + if (ret != 0) { + goto cleanup_m; + } + suspend_mask = old_mask; + sigdelset(_mask, SIGCHLD); + if (tdb_robust_mutex_setup_sigchild(tdb_robust_mutex_handler, _robust_mutext_old_handler) == false) { - goto cleanup_ma; + goto cleanup_sigmask; } tdb_robust_mutex_pid = fork(); @@ -884,16 +897,9 @@ _PUBLIC_ bool tdb_runtime_check_for_robust_mutexes(void) } while (tdb_robust_mutex_pid > 0) { - pid_t pid; - - errno = 0; - pid = waitpid(tdb_robust_mutex_pid, , 0); - if (pid == tdb_robust_mutex_pid) { - tdb_robust_mutex_pid = -1; - break; - } - if (pid == -1 && errno != EINTR) { - goto cleanup_child; + ret = sigsuspend(_mask); + if (ret != -1 || errno != EINTR) { + abort(); } } tdb_robust_mutex_setup_sigchild(tdb_robust_mutext_old_handler, NULL); @@ -903,46 +909,44 @@ _PUBLIC_ bool tdb_runtime_check_for_robust_mutexes(void) if (ret == 0) { pthread_mutex_unlock(m); } - goto cleanup_m; + goto cleanup_sigmask; } ret = pthread_mutex_consistent(m); if (ret != 0) { - goto cleanup_m; + goto cleanup_sigmask; } ret = pthread_mutex_trylock(m); if (ret != EDEADLK) { pthread_mutex_unlock(m); - goto cleanup_m; + goto cleanup_sigmask; } ret = pthread_mutex_unlock(m); if (ret != 0) { - goto cleanup_m; + goto cleanup_sigmask; } tdb_mutex_locking_cached = true; - goto cleanup_m; + goto cleanup_sigmask; cleanup_child: while (tdb_robust_mutex_pid > 0) { - pid_t pid; - kill(tdb_robust_mutex_pid, SIGKILL); - - errno = 0; - pid = waitpid(tdb_robust_mutex_pid, , 0); - if (pid == tdb_robust_mutex_pid) { - tdb_robust_mutex_pid = -1; - break; - } - if (pid == -1 && errno != EINTR) { - break; + ret = sigsuspend(_mask); + if (ret != -1 || errno != EINTR) { + abort(); } } + cleanup_sig_child: tdb_robust_mutex_setup_sigchild(tdb_robust_mutext_old_handler, NULL); +cleanup_sigmask: + ret =
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1607/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1607/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1607/samba.stdout The top commit at the time of the failure was: commit aa81199bec3cb5a3f8f7b990395108a6eb988815 Author: Uri SimchoniDate: Mon Mar 28 10:20:22 2016 +0300 vfs_glusterfs: call clock_gettime_mono() only on profile-enabled build Signed-off-by: Uri Simchoni Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue Mar 29 00:12:14 CEST 2016 on sn-devel-144
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1208/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1208/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-1208/samba.stdout The top commit at the time of the failure was: commit aa81199bec3cb5a3f8f7b990395108a6eb988815 Author: Uri SimchoniDate: Mon Mar 28 10:20:22 2016 +0300 vfs_glusterfs: call clock_gettime_mono() only on profile-enabled build Signed-off-by: Uri Simchoni Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue Mar 29 00:12:14 CEST 2016 on sn-devel-144
autobuild[sn-devel-104]: intermittent test failure detected
The autobuild test system (on sn-devel-104) has detected an intermittent failing test in the current master tree. The autobuild log of the failure is available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-0809/flakey.log The samba build logs are available here: http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-0809/samba.stderr http://git.samba.org/autobuild.flakey.sn-devel-104/2016-03-29-0809/samba.stdout The top commit at the time of the failure was: commit aa81199bec3cb5a3f8f7b990395108a6eb988815 Author: Uri SimchoniDate: Mon Mar 28 10:20:22 2016 +0300 vfs_glusterfs: call clock_gettime_mono() only on profile-enabled build Signed-off-by: Uri Simchoni Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Tue Mar 29 00:12:14 CEST 2016 on sn-devel-144