[SCM] CTDB repository - branch 1.2.40 updated - ctdb-1.2.48-3-g7c4998c

Amitay Isaacs amitay at samba.org
Thu Sep 6 00:40:48 MDT 2012


The branch, 1.2.40 has been updated
       via  7c4998cad4d3debb06f62108fb099b6427310419 (commit)
       via  a21150bbd567ab6bfc844561ddeb6438d9710760 (commit)
       via  450bedccbee3f89aba3b33777a4ae8841c456a65 (commit)
      from  201c092dbb38746847fb9e6bfef8ea068133e47c (commit)

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


- Log -----------------------------------------------------------------
commit 7c4998cad4d3debb06f62108fb099b6427310419
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Aug 21 14:35:35 2012 +1000

    New version 1.2.49
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

commit a21150bbd567ab6bfc844561ddeb6438d9710760
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Aug 21 14:28:37 2012 +1000

    Initscript: Kill any existing ctdbd processes if the ping succeeds
    
    Initialising a new ctdbd will destroy the Unix domain socket so
    existing processes will be useless anyway.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>

commit 450bedccbee3f89aba3b33777a4ae8841c456a65
Author: Amitay Isaacs <amitay at gmail.com>
Date:   Tue Aug 14 15:42:12 2012 +1000

    logging: Close unix socket /tmp/ctdb.socket in syslogd process
    
    Since the unix socket is opened before syslogd process is forked, syslogd
    process also keeps listening to it.  If main ctdbd process dies and has any
    child processes that are blocked waiting for locks, these child processes
    keep connecting to unix socket and thus syslogd cannot exit.
    
    Signed-off-by: Amitay Isaacs <amitay at gmail.com>

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

Summary of changes:
 config/ctdb.init           |    6 ++++++
 packaging/RPM/ctdb.spec.in |    6 +++++-
 server/ctdb_logging.c      |    5 +++++
 3 files changed, 16 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/config/ctdb.init b/config/ctdb.init
index d6493bd..68850c0 100755
--- a/config/ctdb.init
+++ b/config/ctdb.init
@@ -237,6 +237,12 @@ start() {
 	return 0
     }
 
+    # About to start new $ctdbd.  The ping above has failed and any
+    # new $ctdbd will destroy the Unix domain socket, so any processes
+    # that aren't yet completely useless soon will be...  so kill
+    # them.
+    pkill -9 -f "$ctdbd"
+
     build_ctdb_options
 
     # make sure we drop any ips that might still be held if previous
diff --git a/packaging/RPM/ctdb.spec.in b/packaging/RPM/ctdb.spec.in
index a7d95ad..2d744b2 100644
--- a/packaging/RPM/ctdb.spec.in
+++ b/packaging/RPM/ctdb.spec.in
@@ -3,7 +3,7 @@ Name: ctdb
 Summary: Clustered TDB
 Vendor: Samba Team
 Packager: Samba Team <samba at samba.org>
-Version: 1.2.48
+Version: 1.2.49
 Release: 1GITHASH
 Epoch: 0
 License: GNU GPL version 3
@@ -144,6 +144,10 @@ development libraries for ctdb
 %{_libdir}/libctdb.a
 
 %changelog
+
+* Tue Aug 21 2012 : Version 1.2.49
+ - logging: Close unix socket /tmp/ctdb.socket in syslogd process
+ - Initscript: Kill any existing ctdbd processes if the ping succeeds
 * Thu Aug 08 2012 : Version 1.2.48
  - Fix missing set_proc() in policy routing
 * Thu Aug 08 2012 : Version 1.2.47
diff --git a/server/ctdb_logging.c b/server/ctdb_logging.c
index 27b990e..2637ad7 100644
--- a/server/ctdb_logging.c
+++ b/server/ctdb_logging.c
@@ -117,6 +117,11 @@ int start_syslog_daemon(struct ctdb_context *ctdb)
 	}
 
 	debug_extra = talloc_asprintf(NULL, "syslogd:");
+
+	/* Close unix socket since syslogd does not need it */
+	close(ctdb->daemon.sd);
+	ctdb->daemon.sd = -1;
+
 	talloc_free(ctdb->ev);
 	ctdb->ev = event_context_init(NULL);
 	tevent_loop_allow_nesting(ctdb->ev);


-- 
CTDB repository


More information about the samba-cvs mailing list