[SCM] Samba Shared Repository - branch master updated

Amitay Isaacs amitay at samba.org
Thu Aug 10 08:31:02 UTC 2017


The branch, master has been updated
       via  d0381a3 ctdb-tests: Add a big no-op LCP2 IP takeover test
       via  eb66ef2 ctdb-takeover: Do not call ctdb_announce_vnn_iface() for updateip
       via  769e889 build: Do not recurse on symlinks to directories when building tarballs
       via  68a02d1 build: Do not ignore symlinks to directories when building tarballs
      from  d7e60bc tdb: Do not allow to pass NULL as the buffer to transaction_write()

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


- Log -----------------------------------------------------------------
commit d0381a3cf49146c0b44577a66e0c693d1edad137
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Jul 13 15:52:54 2017 +1000

    ctdb-tests: Add a big no-op LCP2 IP takeover test
    
    Although this tests correctness it is most useful for testing that
    changes to IP takeover algorithm do not cause obvious performance
    regressions.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>
    
    Autobuild-User(master): Amitay Isaacs <amitay at samba.org>
    Autobuild-Date(master): Thu Aug 10 10:30:58 CEST 2017 on sn-devel-144

commit eb66ef2e3bb7eaf719e2a122483466634a1002e4
Author: Martin Schwenke <martin at meltin.net>
Date:   Thu Jul 27 15:04:30 2017 +1000

    ctdb-takeover: Do not call ctdb_announce_vnn_iface() for updateip
    
    This causes any tracked connections for the IP address to be lost.
    
    When doing a takeip, the server sends a tickle ACK to the client, the
    client responds with a valid ACK and the server's TCP stack responds
    with a reset because the connection does not exist.  However, in the
    updateip, case the connection *does* exist, so the tickle *does not*
    cause the connection to be reset.
    
    ctdb_announce_vnn_iface() clears the list of tracked TCP connections
    while sending the tickle ACKs.  So, if there are no reconnects as in
    the takeip case, then the list of connections is simply lost.
    
    The "updateip" event in the 10.interface event script already sends
    gratuitous ARPs and tickles connections in both directions.  This
    ensures that traffic continues after packets may have been dropped
    when the script temporarily blocks traffic to the IP address.
    
    All of this means that the call to ctdb_announce_vnn_iface() can just
    be deleted.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 769e889e0e617b503a3a7574b4cd2f0bf9909065
Author: Martin Schwenke <martin at meltin.net>
Date:   Tue Aug 8 20:50:25 2017 +1000

    build: Do not recurse on symlinks to directories when building tarballs
    
    DIST_FILES() causes all files in any specified directory to be
    recursively added to the tarball.  However, a symbolic link to a
    directory is detected as a regular directory so is also subject to
    recursion.  This means that a symbolic link to a directory is
    dereferenced and the directory of files beyond it are added to the
    tarball under a directory corresponding to the link.  This is almost
    certainly not what is intended because it will usually result in
    duplicate files.  This is because the contents of a symbolic link's
    target directory will already be present in the tarball.
    
    Instead, do not treat symbolic links to directories as directories,
    but add them to the tarball like normal files.
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

commit 68a02d18c135a30adf0f67ec370d5e2db5ea136e
Author: Martin Schwenke <martin at meltin.net>
Date:   Sun Aug 6 14:56:17 2017 +1000

    build: Do not ignore symlinks to directories when building tarballs
    
    Tarballs currently do not contain symbolic links to directories even
    if they are committed in git.  This means that CTDB tests fail when
    run in-tree from a tarball, due to a couple of missing links needed by
    unit tests:
    
      ERROR: Directory .../ctdb/tests/var/unit_eventscripts/etc-ctdb/events.d does not exist.
    
    Subdirectories of directories specified via DIST_DIRS() are ignored,
    since all the files within them are separately added to the tarball.
    Symbolic links to directories are detected as directories, so they are
    also ignored, causing them to be missing from the tarball.
    
    Instead, do not treat symbolic links to directories as directories,
    but add them to the tarball like normal files.
    
    It is easy to confirm that this change causes no difference to current
    tarballs other than causing the missing CTDB test links to be added:
    
      $ diff -u samba-4.8.0pre1-GIT-eb691cd0242.tar.gz.contents samba-4.8.0pre1-GIT-dfb16de0149.tar.gz.contents
      --- samba-4.8.0pre1-GIT-eb691cd0242.tar.gz.contents	2017-08-08 20:21:40.022993091 +1000
      +++ samba-4.8.0pre1-GIT-dfb16de0149.tar.gz.contents	2017-08-08 20:35:11.001580747 +1000
      @@ -578,7 +578,9 @@
       ctdb/tests/eventscripts/91.lvs.startup.001.sh
       ctdb/tests/eventscripts/91.lvs.startup.002.sh
       ctdb/tests/eventscripts/README
      +ctdb/tests/eventscripts/etc-ctdb/events.d
       ctdb/tests/eventscripts/etc-ctdb/functions
      +ctdb/tests/eventscripts/etc-ctdb/nfs-checks.d
       ctdb/tests/eventscripts/etc-ctdb/nfs-linux-kernel-callout
       ctdb/tests/eventscripts/etc-ctdb/public_addresses
       ctdb/tests/eventscripts/etc-ctdb/rc.local
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Reviewed-by: Amitay Isaacs <amitay at gmail.com>

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

Summary of changes:
 buildtools/wafsamba/samba_dist.py |    4 +-
 ctdb/server/ctdb_takeover.c       |   12 -
 ctdb/tests/takeover/lcp2.035.sh   | 1813 +++++++++++++++++++++++++++++++++++++
 3 files changed, 1815 insertions(+), 14 deletions(-)
 create mode 100755 ctdb/tests/takeover/lcp2.035.sh


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_dist.py b/buildtools/wafsamba/samba_dist.py
index dbcb02a..2e52820 100644
--- a/buildtools/wafsamba/samba_dist.py
+++ b/buildtools/wafsamba/samba_dist.py
@@ -115,7 +115,7 @@ def dist(appname='', version=''):
                     blacklisted = True
             if blacklisted:
                 continue
-            if os.path.isdir(abspath):
+            if os.path.isdir(abspath) and not os.path.islink(abspath):
                 continue
             if dstsubdir != '.':
                 f = dstsubdir + '/' + f
@@ -182,7 +182,7 @@ def dist(appname='', version=''):
 
             absfile = os.path.join(srcdir, file)
 
-            if os.path.isdir(absfile):
+            if os.path.isdir(absfile) and not os.path.islink(absfile):
                 destdir = destfile
                 dir = file
                 files = list_directory_files(dir)
diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c
index c359d66..5e8aabf 100644
--- a/ctdb/server/ctdb_takeover.c
+++ b/ctdb/server/ctdb_takeover.c
@@ -576,7 +576,6 @@ static void ctdb_do_updateip_callback(struct ctdb_context *ctdb, int status,
 {
 	struct ctdb_do_updateip_state *state =
 		talloc_get_type(private_data, struct ctdb_do_updateip_state);
-	int32_t ret;
 
 	if (status != 0) {
 		if (status == -ETIME) {
@@ -601,17 +600,6 @@ static void ctdb_do_updateip_callback(struct ctdb_context *ctdb, int status,
 		return;
 	}
 
-	if (ctdb->do_checkpublicip) {
-
-	ret = ctdb_announce_vnn_iface(ctdb, state->vnn);
-	if (ret != 0) {
-		ctdb_request_control_reply(ctdb, state->c, NULL, -1, NULL);
-		talloc_free(state);
-		return;
-	}
-
-	}
-
 	/* the control succeeded */
 	ctdb_request_control_reply(ctdb, state->c, NULL, 0, NULL);
 	talloc_free(state);
diff --git a/ctdb/tests/takeover/lcp2.035.sh b/ctdb/tests/takeover/lcp2.035.sh
new file mode 100755
index 0000000..2bb58f5
--- /dev/null
+++ b/ctdb/tests/takeover/lcp2.035.sh
@@ -0,0 +1,1813 @@
+#!/bin/sh
+
+. "${TEST_SCRIPTS_DIR}/unit.sh"
+
+define_test "900 IPs, all 5 nodes healthy, all assigned, no-op"
+
+export CTDB_TEST_LOGLEVEL=ERR
+
+required_result <<EOF
+192.168.10.90 0
+192.168.10.89 1
+192.168.10.88 2
+192.168.10.87 3
+192.168.10.86 4
+192.168.10.85 0
+192.168.10.84 1
+192.168.10.83 2
+192.168.10.82 3
+192.168.10.81 4
+192.168.10.80 0
+192.168.10.79 0
+192.168.10.78 1
+192.168.10.77 2
+192.168.10.76 3
+192.168.10.75 4
+192.168.10.74 1
+192.168.10.73 2
+192.168.10.72 3
+192.168.10.71 3
+192.168.10.70 4
+192.168.10.69 0
+192.168.10.68 1
+192.168.10.67 2
+192.168.10.66 4
+192.168.10.65 0
+192.168.10.64 1
+192.168.10.63 0
+192.168.10.62 1
+192.168.10.61 2
+192.168.10.60 3
+192.168.10.59 4
+192.168.10.58 2
+192.168.10.57 3
+192.168.10.56 0
+192.168.10.55 0
+192.168.10.54 1
+192.168.10.53 2
+192.168.10.52 3
+192.168.10.51 4
+192.168.10.50 1
+192.168.10.49 4
+192.168.10.48 2
+192.168.10.47 0
+192.168.10.46 1
+192.168.10.45 2
+192.168.10.44 3
+192.168.10.43 4
+192.168.10.42 2
+192.168.10.41 3
+192.168.10.40 1
+192.168.10.39 3
+192.168.10.38 4
+192.168.10.37 0
+192.168.10.36 1
+192.168.10.35 2
+192.168.10.34 4
+192.168.10.33 0
+192.168.10.32 3
+192.168.10.31 0
+192.168.10.30 1
+192.168.10.29 2
+192.168.10.28 3
+192.168.10.27 4
+192.168.10.26 3
+192.168.10.25 2
+192.168.10.24 0
+192.168.10.23 3
+192.168.10.22 4
+192.168.10.21 0
+192.168.10.20 1
+192.168.10.19 2
+192.168.10.18 4
+192.168.10.17 1
+192.168.10.16 4
+192.168.10.15 0
+192.168.10.14 1
+192.168.10.13 2
+192.168.10.12 3
+192.168.10.11 4
+192.168.10.10 2
+192.168.10.9 3
+192.168.10.8 4
+192.168.10.7 0
+192.168.10.6 1
+192.168.10.5 2
+192.168.10.4 3
+192.168.10.3 4
+192.168.10.2 0
+192.168.10.1 1
+192.168.9.90 0
+192.168.9.89 1
+192.168.9.88 2
+192.168.9.87 3
+192.168.9.86 4
+192.168.9.85 0
+192.168.9.84 1
+192.168.9.83 2
+192.168.9.82 3
+192.168.9.81 4
+192.168.9.80 0
+192.168.9.79 0
+192.168.9.78 1
+192.168.9.77 2
+192.168.9.76 3
+192.168.9.75 4
+192.168.9.74 1
+192.168.9.73 2
+192.168.9.72 3
+192.168.9.71 3
+192.168.9.70 4
+192.168.9.69 0
+192.168.9.68 1
+192.168.9.67 2
+192.168.9.66 4
+192.168.9.65 0
+192.168.9.64 1
+192.168.9.63 0
+192.168.9.62 1
+192.168.9.61 2
+192.168.9.60 3
+192.168.9.59 4
+192.168.9.58 2
+192.168.9.57 3
+192.168.9.56 4
+192.168.9.55 0
+192.168.9.54 1
+192.168.9.53 2
+192.168.9.52 3
+192.168.9.51 4
+192.168.9.50 0
+192.168.9.49 1
+192.168.9.48 2
+192.168.9.47 0
+192.168.9.46 1
+192.168.9.45 2
+192.168.9.44 3
+192.168.9.43 4
+192.168.9.42 2
+192.168.9.41 4
+192.168.9.40 3
+192.168.9.39 0
+192.168.9.38 1
+192.168.9.37 2
+192.168.9.36 3
+192.168.9.35 4
+192.168.9.34 0
+192.168.9.33 1
+192.168.9.32 4
+192.168.9.31 0
+192.168.9.30 1
+192.168.9.29 2
+192.168.9.28 3
+192.168.9.27 4
+192.168.9.26 2
+192.168.9.25 3
+192.168.9.24 0
+192.168.9.23 3
+192.168.9.22 4
+192.168.9.21 0
+192.168.9.20 1
+192.168.9.19 2
+192.168.9.18 4
+192.168.9.17 1
+192.168.9.16 3
+192.168.9.15 0
+192.168.9.14 1
+192.168.9.13 2
+192.168.9.12 3
+192.168.9.11 4
+192.168.9.10 2
+192.168.9.9 4
+192.168.9.8 3
+192.168.9.7 0
+192.168.9.6 1
+192.168.9.5 2
+192.168.9.4 3
+192.168.9.3 4
+192.168.9.2 0
+192.168.9.1 1
+192.168.8.90 0
+192.168.8.89 1
+192.168.8.88 2
+192.168.8.87 3
+192.168.8.86 4
+192.168.8.85 0
+192.168.8.84 1
+192.168.8.83 2
+192.168.8.82 3
+192.168.8.81 4
+192.168.8.80 0
+192.168.8.79 0
+192.168.8.78 1
+192.168.8.77 2
+192.168.8.76 3
+192.168.8.75 4
+192.168.8.74 1
+192.168.8.73 2
+192.168.8.72 3
+192.168.8.71 3
+192.168.8.70 4
+192.168.8.69 0
+192.168.8.68 1
+192.168.8.67 2
+192.168.8.66 4
+192.168.8.65 3
+192.168.8.64 0
+192.168.8.63 0
+192.168.8.62 1
+192.168.8.61 2
+192.168.8.60 3
+192.168.8.59 4
+192.168.8.58 1
+192.168.8.57 2
+192.168.8.56 3
+192.168.8.55 0
+192.168.8.54 1
+192.168.8.53 2
+192.168.8.52 3
+192.168.8.51 4
+192.168.8.50 0
+192.168.8.49 4
+192.168.8.48 1
+192.168.8.47 0
+192.168.8.46 1
+192.168.8.45 2
+192.168.8.44 3
+192.168.8.43 4
+192.168.8.42 2
+192.168.8.41 1
+192.168.8.40 4
+192.168.8.39 0
+192.168.8.38 1
+192.168.8.37 2
+192.168.8.36 3
+192.168.8.35 4
+192.168.8.34 3
+192.168.8.33 0
+192.168.8.32 2
+192.168.8.31 0
+192.168.8.30 1
+192.168.8.29 2
+192.168.8.28 3
+192.168.8.27 4
+192.168.8.26 2
+192.168.8.25 1
+192.168.8.24 3
+192.168.8.23 3
+192.168.8.22 4
+192.168.8.21 0
+192.168.8.20 1
+192.168.8.19 2
+192.168.8.18 4
+192.168.8.17 0
+192.168.8.16 4
+192.168.8.15 0
+192.168.8.14 1
+192.168.8.13 2
+192.168.8.12 3
+192.168.8.11 4
+192.168.8.10 1
+192.168.8.9 2
+192.168.8.8 4
+192.168.8.7 0
+192.168.8.6 1
+192.168.8.5 2
+192.168.8.4 3
+192.168.8.3 4
+192.168.8.2 3
+192.168.8.1 0
+192.168.7.90 0
+192.168.7.89 1
+192.168.7.88 2
+192.168.7.87 3
+192.168.7.86 4
+192.168.7.85 0
+192.168.7.84 1
+192.168.7.83 2
+192.168.7.82 3
+192.168.7.81 4
+192.168.7.80 1
+192.168.7.79 0
+192.168.7.78 1
+192.168.7.77 2
+192.168.7.76 3
+192.168.7.75 4
+192.168.7.74 2
+192.168.7.73 3
+192.168.7.72 0
+192.168.7.71 3
+192.168.7.70 4
+192.168.7.69 0
+192.168.7.68 1
+192.168.7.67 2
+192.168.7.66 4
+192.168.7.65 1
+192.168.7.64 3
+192.168.7.63 0
+192.168.7.62 1
+192.168.7.61 2
+192.168.7.60 3
+192.168.7.59 4
+192.168.7.58 2
+192.168.7.57 0
+192.168.7.56 1
+192.168.7.55 0
+192.168.7.54 1
+192.168.7.53 2
+192.168.7.52 3
+192.168.7.51 4
+192.168.7.50 3
+192.168.7.49 4
+192.168.7.48 2
+192.168.7.47 0
+192.168.7.46 1
+192.168.7.45 2
+192.168.7.44 3
+192.168.7.43 4
+192.168.7.42 2
+192.168.7.41 0
+192.168.7.40 1
+192.168.7.39 4
+192.168.7.38 0
+192.168.7.37 1
+192.168.7.36 2
+192.168.7.35 3
+192.168.7.34 4
+192.168.7.33 3
+192.168.7.32 0
+192.168.7.31 0
+192.168.7.30 1
+192.168.7.29 2
+192.168.7.28 3
+192.168.7.27 4
+192.168.7.26 2
+192.168.7.25 0
+192.168.7.24 1
+192.168.7.23 3
+192.168.7.22 4
+192.168.7.21 0
+192.168.7.20 1
+192.168.7.19 2
+192.168.7.18 4
+192.168.7.17 3
+192.168.7.16 4
+192.168.7.15 0
+192.168.7.14 1
+192.168.7.13 2
+192.168.7.12 3
+192.168.7.11 4
+192.168.7.10 3
+192.168.7.9 2
+192.168.7.8 0
+192.168.7.7 2
+192.168.7.6 4
+192.168.7.5 0
+192.168.7.4 1
+192.168.7.3 3
+192.168.7.2 4
+192.168.7.1 1
+192.168.6.90 0
+192.168.6.89 1
+192.168.6.88 2
+192.168.6.87 3
+192.168.6.86 4
+192.168.6.85 0
+192.168.6.84 1
+192.168.6.83 2
+192.168.6.82 4
+192.168.6.81 3
+192.168.6.80 0
+192.168.6.79 0
+192.168.6.78 1
+192.168.6.77 2
+192.168.6.76 3
+192.168.6.75 4
+192.168.6.74 2
+192.168.6.73 3
+192.168.6.72 1
+192.168.6.71 3
+192.168.6.70 4
+192.168.6.69 0
+192.168.6.68 1
+192.168.6.67 2
+192.168.6.66 4
+192.168.6.65 0
+192.168.6.64 1
+192.168.6.63 0
+192.168.6.62 1
+192.168.6.61 2
+192.168.6.60 3
+192.168.6.59 4
+192.168.6.58 2
+192.168.6.57 3
+192.168.6.56 0
+192.168.6.55 3
+192.168.6.54 4
+192.168.6.53 1
+192.168.6.52 2
+192.168.6.51 0
+192.168.6.50 4
+192.168.6.49 1
+192.168.6.48 2
+192.168.6.47 0
+192.168.6.46 1
+192.168.6.45 2
+192.168.6.44 3
+192.168.6.43 4
+192.168.6.42 2
+192.168.6.41 4
+192.168.6.40 3
+192.168.6.39 0
+192.168.6.38 1
+192.168.6.37 2
+192.168.6.36 3
+192.168.6.35 4
+192.168.6.34 0
+192.168.6.33 1
+192.168.6.32 4
+192.168.6.31 0
+192.168.6.30 1
+192.168.6.29 2
+192.168.6.28 3
+192.168.6.27 4
+192.168.6.26 2
+192.168.6.25 3
+192.168.6.24 0
+192.168.6.23 3
+192.168.6.22 4
+192.168.6.21 0
+192.168.6.20 1
+192.168.6.19 2
+192.168.6.18 4


-- 
Samba Shared Repository



More information about the samba-cvs mailing list