[SCM] Samba Shared Repository - branch v4-9-stable updated

Karolin Seeger kseeger at samba.org
Fri Aug 31 09:51:05 UTC 2018


The branch, v4-9-stable has been updated
       via  8fd169a VERSION: Disable GIT_SNAPSHOT for the 4.9.0rc4 release.
       via  46aedae WHATSNEW: Add changes since RC3.
       via  927c199 WHATSNEW: More CTDB updates for 4.9
       via  e67b397 ctdb-tests: Check that no IPs are assigned when failover is disabled
       via  6620173 ctdb-tests: Add an extra conf loading test case
       via  512149a ctdb-doc: Switch tunable DisableIPFailover to a config option
       via  79a3bef ctdb-config: Switch tunable DisableIPFailover to a config option
       via  83b79f5 ctdb-config: Integrate failover options into conf-tool
       via  f518865 ctdb-failover: Add failover configuration options
       via  4a30fb0 ctdb-tests: Drop DisableIPFailover simple test
       via  089d3b9 ctdb-daemon: Pass DisableIPFailover tunable via environment variable
       via  624b4d1 ctdb-common: Allow boolean configuration values to have yes/no values
       via  5567445 ctdb-doc: Switch tunable TDBMutexEnabled to a config option
       via  75261d6 ctdb-config: Switch tunable TDBMutexEnabled to a config option
       via  5f346ce ctdb-doc: Add support for migrating tunables to ctdb.conf options
       via  73c884c ctdb-doc: Change option "no realtime" option to "realtime scheduling"
       via  d51434b ctdb-config: Change option "no realtime" option to "realtime scheduling"
       via  34b4bdc ctdb-doc: Handle boolean options in config migration more carefully
       via  97048c0 ctdb-doc: Make config migration script notice removed CTDB_BASE option
       via  7e38e95 ctdb-common: Fix aliasing issue in IPv6 checksum
       via  3fd839a s3: smbd: Ensure get_real_filename() copes with empty pathnames.
       via  729ac56 torture: Demonstrate the invalid lock order panic
       via  2f93246 vfs_fruit: Fix a leak of "br_lck"
       via  018550f python: Fix print in dns_invalid.py
       via  ccbc9c1 wafsamba/samba_abi: always hide ABI symbols which must be local
       via  a89ec4e selftest: Load time_audit and full_audit modules for all tests
       via  b0e1a03 s3: vfs: time_audit: fix handling of token_blob in smb_time_audit_offload_read_recv()
       via  96a74ab s3:libads: Free addr before we free the context
       via  14eed16 s3:winbind: Fix memory leak in nss_init()
       via  bd0b693 s3:registry: Fix possible memory leak in _reg_perfcount_multi_sz_from_tdb()
       via  8f65578 s3:libads: Fix memory leaks in ads_krb5_chg_password()
       via  f1c2e68 s3:client: Avoid a possible fd leak in do_get()
       via  98e7021 s4:lib: Fix a possible fd leak in gp_get_file()
       via  6ffa700 s3:utils: Do not leak memory in new_user()
       via  cdb6f01 s3:utils: Do not overflow the destination buffer in net_idmap_restore()
       via  1000cbe s3:passdb: Don't leak memory on error in fetch_ldap_pw()
       via  2431f54 wbinfo: Free memory when we leave wbinfo_dsgetdcname()
       via  12a8f20 netcmd: Fix --kerberos=yes and --no-secrets domain backups
       via  b9315fa netcmd: Delete unnecessary function
       via  15e1a41 netcmd: Fix kerberos option for domain backups
       via  69583d1 netcmd: domain backup didn't support prompting for password
       via  ec47551 netcmd: Improve domain backup targetdir checks
       via  6244e6a VERSION: Bump version up to 4.9.0rc4...
      from  ba2ef7f VERISON: Disable GIT_SNAPSHOT for 4.9.0rc3 release.

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-9-stable


- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 VERSION                                            |   2 +-
 WHATSNEW.txt                                       |  58 +++++++++++-
 buildtools/wafsamba/samba_abi.py                   |  10 +-
 buildtools/wafsamba/tests/test_abi.py              |  14 +++
 ctdb/common/conf.c                                 |   4 +-
 ctdb/common/conf_tool.c                            |   2 +
 ctdb/common/system_socket.c                        |  12 ++-
 ctdb/common/tunable.c                              |   4 +-
 ctdb/database/database_conf.c                      |  21 +++++
 ctdb/database/database_conf.h                      |   3 +-
 ctdb/doc/ctdb-tunables.7.xml                       |  28 ------
 ctdb/doc/ctdb.1.xml                                |   2 -
 ctdb/doc/ctdb.conf.5.xml                           |  52 ++++++++++-
 ctdb/doc/examples/config_migrate.sh                | 104 +++++++++++++++------
 ctdb/doc/examples/config_migrate.test_input        |   7 +-
 .../database_conf.h => failover/failover_conf.c}   |  43 ++++++---
 .../event_conf.h => failover/failover_conf.h}      |  16 ++--
 ctdb/server/ctdb_config.c                          |  18 +++-
 ctdb/server/ctdb_config.h                          |   6 +-
 ctdb/server/ctdb_ltdb_server.c                     |   7 +-
 ctdb/server/ctdb_recoverd.c                        |  14 ++-
 ctdb/server/ctdb_takeover.c                        |  10 +-
 ctdb/server/ctdb_takeover_helper.c                 |   4 +-
 ctdb/server/ctdbd.c                                |   2 +-
 ctdb/server/legacy_conf.c                          |   4 +-
 ctdb/server/legacy_conf.h                          |   2 +-
 ctdb/tests/cunit/config_test_001.sh                |  25 ++++-
 ctdb/tests/cunit/config_test_006.sh                |   4 +-
 ctdb/tests/cunit/config_test_007.sh                |  24 +++++
 ctdb/tests/eventscripts/00.ctdb.setup.002.sh       |   2 -
 ctdb/tests/eventscripts/scripts/00.ctdb.sh         |   1 -
 ctdb/tests/simple/19_ip_takeover_noop.sh           |  36 ++++---
 ctdb/tests/simple/scripts/local_daemons.bash       |   5 +
 ctdb/tests/takeover_helper/016.sh                  |   4 +-
 ctdb/tests/tool/ctdb.listvars.001.sh               |   2 -
 ctdb/wscript                                       |   6 ++
 nsswitch/wbinfo.c                                  |   3 +
 python/samba/netcmd/domain_backup.py               |  56 ++++++-----
 python/samba/tests/dns_invalid.py                  |   2 +-
 selftest/target/Samba3.pm                          |  12 +--
 source3/client/client.c                            |   7 ++
 source3/libads/krb5_setpw.c                        |   2 +
 source3/modules/vfs_fruit.c                        |  24 +++--
 source3/modules/vfs_time_audit.c                   |  12 +--
 source3/passdb/secrets.c                           |   4 +
 source3/registry/reg_perfcount.c                   |  15 ++-
 source3/smbd/filename.c                            |   5 +
 source3/utils/net_idmap.c                          |   4 +-
 source3/utils/pdbedit.c                            |  10 +-
 source3/winbindd/nss_info.c                        |  26 ++++--
 source4/lib/policy/gp_filesys.c                    |  24 +++--
 source4/torture/vfs/fruit.c                        |  89 ++++++++++++++++++
 52 files changed, 640 insertions(+), 213 deletions(-)
 copy ctdb/{database/database_conf.h => failover/failover_conf.c} (53%)
 copy ctdb/{event/event_conf.h => failover/failover_conf.h} (68%)
 create mode 100755 ctdb/tests/cunit/config_test_007.sh


Changeset truncated at 500 lines:

diff --git a/VERSION b/VERSION
index 3bb84e7..1860df5 100644
--- a/VERSION
+++ b/VERSION
@@ -87,7 +87,7 @@ SAMBA_VERSION_PRE_RELEASE=
 # e.g. SAMBA_VERSION_RC_RELEASE=1                      #
 #  ->  "3.0.0rc1"                                      #
 ########################################################
-SAMBA_VERSION_RC_RELEASE=3
+SAMBA_VERSION_RC_RELEASE=4
 
 ########################################################
 # To mark SVN snapshots this should be set to 'yes'    #
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 97cd50b..e6194aa 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -1,7 +1,7 @@
 Release Announcements
 =====================
 
-This is the third release candidate of Samba 4.9.  This is *not*
+This is the fourth release candidate of Samba 4.9.  This is *not*
 intended for production environments and is designed for testing
 purposes only.  Please report any defects via the Samba bug reporting
 system at https://bugzilla.samba.org/.
@@ -319,6 +319,26 @@ There are many changes to CTDB in this release.
   When writing tests there are still mechanisms available to change
   the locations of certain directories and files.
 
+* The following ctdbd.conf and ctdbd options have been replaced by new
+  ctdb.conf options:
+
+    CTDB_LOGGING/--logging                     logging  -> location
+    CTDB_DEBUGLEVEL/-d                         logging  -> log level
+    CTDB_TRANSPORT/--transport                 cluster  -> transport
+    CTDB_NODE_ADDRESS/--listen                 cluster  -> node address
+    CTDB_RECOVERY_LOCK/--reclock               cluster  -> recovery lock
+    CTDB_DBDIR/--dbdir                         database -> volatile database directory
+    CTDB_DBDIR_PERSISTENT/--dbdir-persistent   database -> peristent database directory
+    CTDB_DBDIR_STATE/--dbdir-state             database -> state database directory
+    CTDB_DEBUG_LOCKS                           database -> lock debug script
+    CTDB_DEBUG_HUNG_SCRIPT                     event    -> debug script
+    CTDB_NOSETSCHED/--nosetsched               legacy   -> realtime scheduling
+    CTDB_CAPABILITY_RECMASTER/--no-recmaster   legacy   -> recmaster capability
+    CTDB_CAPABILITY_LMASTER/--no-lmaster       legacy   -> lmaster capability
+    CTDB_START_AS_STOPPED/--start-as-stopped   legacy   -> start as stopped
+    CTDB_START_AS_DISABLED/--start-as-disabled legacy   -> start as disabled
+    CTDB_SCRIPT_LOG_LEVEL/--script-log-level   legacy   -> script log level
+
 * Event scripts have moved to the scripts/legacy subdirectory of the
   configuration directory
 
@@ -370,6 +390,11 @@ There are many changes to CTDB in this release.
   manually mounted on the directory pointed to by the "volatile
   database directory" option.  See ctdb.conf(5) for more details.
 
+* The following tunable options are now ctdb.conf options:
+
+    DisabledIPFailover    failover -> disabled
+    TDBMutexEnabled       database -> tdb mutexes
+
 * Support for the NoIPHostOnAllDisabled tunable has been removed
 
   If all nodes are unhealthy or disabled then CTDB will not host
@@ -451,6 +476,37 @@ Any external VFS modules will need to be updated to match these
 changes in order to work with 4.9.x.
 
 
+CHANGES SINCE 4.9.0rc3
+======================
+
+o  Jeremy Allison <jra at samba.org>
+   * BUG 13585: s3: smbd: Ensure get_real_filename() copes with empty
+     pathnames.
+
+o  Tim Beale <timbeale at catalyst.net.nz>
+   * BUG 13566: samba domain backup online/rename commands force user to specify
+     password on CLI.
+
+o  Alexander Bokovoy <ab at samba.org>
+   * BUG 13579: wafsamba/samba_abi: Always hide ABI symbols which must be
+     local.
+
+o  Volker Lendecke <vl at samba.org>
+   * BUG 13584: Fix a panic if fruit_access_check detects a locking conflict.
+
+o  Andreas Schneider <asn at samba.org>
+   * BUG 13567: Fix memory and resource leaks.
+   * BUG 13580: python: Fix print in dns_invalid.py.
+
+o  Martin Schwenke <martin at meltin.net>
+   * BUG 13588: Aliasing issue causes incorrect IPv6 checksum.
+   * BUG 13589: Fix CTDB configuration issues.
+
+o  Ralph Wuerthner <ralph.wuerthner at de.ibm.com>
+   * BUG 13568: s3: vfs: time_audit: fix handling of token_blob in
+     smb_time_audit_offload_read_recv().
+
+
 CHANGES SINCE 4.9.0rc2
 ======================
 
diff --git a/buildtools/wafsamba/samba_abi.py b/buildtools/wafsamba/samba_abi.py
index 196b468..4603e76 100644
--- a/buildtools/wafsamba/samba_abi.py
+++ b/buildtools/wafsamba/samba_abi.py
@@ -192,10 +192,12 @@ def abi_write_vscript(f, libname, current_version, versions, symmap, abi_match):
             f.write("\t\t%s;\n" % x)
     else:
         f.write("\t\t*;\n")
-    if abi_match != ["*"]:
-        f.write("\tlocal:\n")
-        for x in local_abi:
-            f.write("\t\t%s;\n" % x[1:])
+    # Always hide symbols that must be local if exist
+    local_abi.extend(["!_end", "!__bss_start", "!_edata"])
+    f.write("\tlocal:\n")
+    for x in local_abi:
+        f.write("\t\t%s;\n" % x[1:])
+    if global_abi != ["*"]:
         if len(global_abi) > 0:
             f.write("\t\t*;\n")
     f.write("};\n")
diff --git a/buildtools/wafsamba/tests/test_abi.py b/buildtools/wafsamba/tests/test_abi.py
index bba78c1..7489214 100644
--- a/buildtools/wafsamba/tests/test_abi.py
+++ b/buildtools/wafsamba/tests/test_abi.py
@@ -66,6 +66,10 @@ class WriteVscriptTests(TestCase):
 1.0 {
 \tglobal:
 \t\t*;
+\tlocal:
+\t\t_end;
+\t\t__bss_start;
+\t\t_edata;
 };
 """)
 
@@ -84,6 +88,10 @@ MYLIB_0.1 {
 1.0 {
 \tglobal:
 \t\t*;
+\tlocal:
+\t\t_end;
+\t\t__bss_start;
+\t\t_edata;
 };
 """)
 
@@ -99,6 +107,9 @@ MYLIB_0.1 {
 \t\t*;
 \tlocal:
 \t\texc_*;
+\t\t_end;
+\t\t__bss_start;
+\t\t_edata;
 };
 """)
 
@@ -115,6 +126,9 @@ MYLIB_0.1 {
 \t\tpub_*;
 \tlocal:
 \t\texc_*;
+\t\t_end;
+\t\t__bss_start;
+\t\t_edata;
 \t\t*;
 };
 """)
diff --git a/ctdb/common/conf.c b/ctdb/common/conf.c
index 74af7f8..669ac23 100644
--- a/ctdb/common/conf.c
+++ b/ctdb/common/conf.c
@@ -122,12 +122,12 @@ static int string_to_integer(const char *str, int *int_val)
 
 static int string_to_boolean(const char *str, bool *bool_val)
 {
-	if (strcasecmp(str, "true") == 0) {
+	if (strcasecmp(str, "true") == 0 || strcasecmp(str, "yes") == 0) {
 		*bool_val = true;
 		return 0;
 	}
 
-	if (strcasecmp(str, "false") == 0) {
+	if (strcasecmp(str, "false") == 0 || strcasecmp(str, "no") == 0) {
 		*bool_val = false;
 		return 0;
 	}
diff --git a/ctdb/common/conf_tool.c b/ctdb/common/conf_tool.c
index 329b204..e6020c5 100644
--- a/ctdb/common/conf_tool.c
+++ b/ctdb/common/conf_tool.c
@@ -32,6 +32,7 @@
 #include "cluster/cluster_conf.h"
 #include "database/database_conf.h"
 #include "event/event_conf.h"
+#include "failover/failover_conf.h"
 #include "server/legacy_conf.h"
 
 #include "common/conf_tool.h"
@@ -243,6 +244,7 @@ int conf_tool_run(struct conf_tool_context *ctx, int *result)
 	cluster_conf_init(ctx->conf);
 	database_conf_init(ctx->conf);
 	event_conf_init(ctx->conf);
+	failover_conf_init(ctx->conf);
 	legacy_conf_init(ctx->conf);
 
 	if (! conf_valid(ctx->conf)) {
diff --git a/ctdb/common/system_socket.c b/ctdb/common/system_socket.c
index 62cc782..7528679 100644
--- a/ctdb/common/system_socket.c
+++ b/ctdb/common/system_socket.c
@@ -270,16 +270,20 @@ static uint16_t ip_checksum(uint16_t *data, size_t n, struct ip *ip)
 
 static uint16_t ip6_checksum(uint16_t *data, size_t n, struct ip6_hdr *ip6)
 {
-	uint32_t phdr[2];
+	uint16_t phdr[3];
 	uint32_t sum = 0;
 	uint16_t sum2;
+	uint32_t len;
 
 	sum += uint16_checksum((uint16_t *)(void *)&ip6->ip6_src, 16);
 	sum += uint16_checksum((uint16_t *)(void *)&ip6->ip6_dst, 16);
 
-	phdr[0] = htonl(n);
-	phdr[1] = htonl(ip6->ip6_nxt);
-	sum += uint16_checksum((uint16_t *)phdr, 8);
+	len = htonl(n);
+	phdr[0] = len & UINT16_MAX;
+	phdr[1] = (len >> 16) & UINT16_MAX;
+	/* ip6_nxt is only 8 bits, so fits comfortably into a uint16_t */
+	phdr[2] = htons(ip6->ip6_nxt);
+	sum += uint16_checksum(phdr, sizeof(phdr));
 
 	sum += uint16_checksum(data, n);
 
diff --git a/ctdb/common/tunable.c b/ctdb/common/tunable.c
index 4c1714c..f516d8c 100644
--- a/ctdb/common/tunable.c
+++ b/ctdb/common/tunable.c
@@ -83,7 +83,7 @@ static struct {
 		offsetof(struct ctdb_tunable_list,  reclock_ping_period) },
 	{ "NoIPFailback", 0, false,
 		offsetof(struct ctdb_tunable_list, no_ip_failback) },
-	{ "DisableIPFailover", 0, false,
+	{ "DisableIPFailover", 0, true,
 		offsetof(struct ctdb_tunable_list, disable_ip_failover) },
 	{ "VerboseMemoryNames", 0, false,
 		offsetof(struct ctdb_tunable_list, verbose_memory_names) },
@@ -145,7 +145,7 @@ static struct {
 		offsetof(struct ctdb_tunable_list, no_ip_host_on_all_disabled) },
 	{ "Samba3AvoidDeadlocks", 0, true,
 		offsetof(struct ctdb_tunable_list, samba3_hack) },
-	{ "TDBMutexEnabled", 1, false,
+	{ "TDBMutexEnabled", 1, true,
 		offsetof(struct ctdb_tunable_list, mutex_enabled) },
 	{ "LockProcessesPerDB", 200, false,
 		offsetof(struct ctdb_tunable_list, lock_processes_per_db) },
diff --git a/ctdb/database/database_conf.c b/ctdb/database/database_conf.c
index 0333ce0..6bdb372 100644
--- a/ctdb/database/database_conf.c
+++ b/ctdb/database/database_conf.c
@@ -54,6 +54,22 @@ static bool check_static_string_change(const char *key,
 	return true;
 }
 
+static bool check_static_boolean_change(const char *key,
+					bool old_value,
+					bool new_value,
+					enum conf_update_mode mode)
+{
+	if (mode == CONF_MODE_RELOAD || CONF_MODE_API) {
+		if (old_value != new_value) {
+			D_WARNING("Ignoring update of [%s] -> %s\n",
+				  DATABASE_CONF_SECTION,
+				  key);
+		}
+	}
+
+	return true;
+}
+
 static bool database_conf_validate_lock_debug_script(const char *key,
 						     const char *old_script,
 						     const char *new_script,
@@ -141,4 +157,9 @@ void database_conf_init(struct conf_context *conf)
 			   DATABASE_CONF_LOCK_DEBUG_SCRIPT,
 			   NULL,
 			   database_conf_validate_lock_debug_script);
+	conf_define_boolean(conf,
+			    DATABASE_CONF_SECTION,
+			    DATABASE_CONF_TDB_MUTEXES,
+			    true,
+			    check_static_boolean_change);
 }
diff --git a/ctdb/database/database_conf.h b/ctdb/database/database_conf.h
index 4891b00..6fa579c 100644
--- a/ctdb/database/database_conf.h
+++ b/ctdb/database/database_conf.h
@@ -27,7 +27,8 @@
 #define DATABASE_CONF_VOLATILE_DB_DIR           "volatile database directory"
 #define DATABASE_CONF_PERSISTENT_DB_DIR         "persistent database directory"
 #define DATABASE_CONF_STATE_DB_DIR              "state database directory"
-#define DATABASE_CONF_LOCK_DEBUG_SCRIPT          "lock debug script"
+#define DATABASE_CONF_LOCK_DEBUG_SCRIPT         "lock debug script"
+#define DATABASE_CONF_TDB_MUTEXES               "tdb mutexes"
 
 void database_conf_init(struct conf_context *conf);
 
diff --git a/ctdb/doc/ctdb-tunables.7.xml b/ctdb/doc/ctdb-tunables.7.xml
index a925ca5..71cb0e3 100644
--- a/ctdb/doc/ctdb-tunables.7.xml
+++ b/ctdb/doc/ctdb-tunables.7.xml
@@ -178,23 +178,6 @@ MonitorInterval=20
     </refsect2>
 
     <refsect2>
-      <title>DisableIPFailover</title>
-      <para>Default: 0</para>
-      <para>
-	When set to non-zero, ctdb will not perform failover or
-	failback. Even if a node fails while holding public IPs, ctdb
-	will not recover the IPs or assign them to another node.
-      </para>
-      <para>
-	When this tunable is enabled, ctdb will no longer attempt
-	to recover the cluster by failing IP addresses over to other
-	nodes. This leads to a service outage until the administrator
-	has manually performed IP failover to replacement nodes using the
-	'ctdb moveip' command.
-      </para>
-    </refsect2>
-
-    <refsect2>
       <title>ElectionTimeout</title>
       <para>Default: 3</para>
       <para>
@@ -661,17 +644,6 @@ MonitorInterval=20
     </refsect2>
 
     <refsect2>
-      <title>TDBMutexEnabled</title>
-      <para>Default: 1</para>
-      <para>
-	This parameter enables TDB_MUTEX_LOCKING feature on volatile
-	databases if the robust mutexes are supported. This optimizes the
-	record locking using robust mutexes and is much more efficient
-	that using posix locks.
-      </para>
-    </refsect2>
-
-    <refsect2>
       <title>TickleUpdateInterval</title>
       <para>Default: 20</para>
       <para>
diff --git a/ctdb/doc/ctdb.1.xml b/ctdb/doc/ctdb.1.xml
index 5c3ce41..355547a 100644
--- a/ctdb/doc/ctdb.1.xml
+++ b/ctdb/doc/ctdb.1.xml
@@ -800,7 +800,6 @@ DatabaseMaxDead         = 5
 RerecoveryTimeout       = 10
 EnableBans              = 1
 NoIPFailback            = 0
-DisableIPFailover       = 0
 VerboseMemoryNames      = 0
 RecdPingTimeout         = 60
 RecdFailCount           = 10
@@ -828,7 +827,6 @@ DBRecordCountWarn       = 100000
 DBRecordSizeWarn        = 10000000
 DBSizeWarn              = 100000000
 PullDBPreallocation     = 10485760
-TDBMutexEnabled         = 1
 LockProcessesPerDB      = 200
 RecBufferSizeLimit      = 1000000
 QueueBufferSize         = 1024
diff --git a/ctdb/doc/ctdb.conf.5.xml b/ctdb/doc/ctdb.conf.5.xml
index bcb67b3..01c09bf 100644
--- a/ctdb/doc/ctdb.conf.5.xml
+++ b/ctdb/doc/ctdb.conf.5.xml
@@ -305,6 +305,23 @@
       </varlistentry>
 
       <varlistentry>
+	<term>tdb mutexes = true|false</term>
+	<listitem>
+	  <para>
+	    This parameter enables TDB_MUTEX_LOCKING feature on
+	    volatile databases if the robust mutexes are
+	    supported. This optimizes the record locking using robust
+	    mutexes and is much more efficient that using posix locks.
+	  </para>
+	  <para>
+	    If robust mutexes are unreliable on the platform being
+	    used then they can be disabled by setting this to
+	    <literal>false</literal>.
+	  </para>
+	</listitem>
+      </varlistentry>
+
+      <varlistentry>
 	<term>lock debug script = <parameter>FILENAME</parameter></term>
 	<listitem>
 	  <para>
@@ -376,6 +393,35 @@
 
   <refsect1>
     <title>
+      FAILOVER CONFIGURATION
+    </title>
+
+    <para>
+      Options in this section affect CTDB failover. They are
+      valid within the <emphasis>failover</emphasis> section of file,
+      indicated by <literal>[failover]</literal>.
+    </para>
+
+    <variablelist>
+
+      <varlistentry>
+	<term>disabled = true|false</term>
+	<listitem>
+	  <para>
+	    If set to <literal>true</literal> then public IP failover
+	    is disabled.
+	  </para>
+	  <para>
+	    Default: <literal>false</literal>
+	  </para>
+	</listitem>
+      </varlistentry>
+
+    </variablelist>
+  </refsect1>
+
+  <refsect1>
+    <title>
       LEGACY CONFIGURATION
     </title>
 
@@ -436,17 +482,17 @@
       </varlistentry>
 
       <varlistentry>
-	<term>no realtime = true|false</term>
+	<term>realtime scheduling = true|false</term>
 	<listitem>
 	  <para>
 	    Usually CTDB runs with real-time priority. This helps it
 	    to perform effectively on a busy system, such as when
 	    there are thousands of Samba clients. If you are running
 	    CTDB on a platform that does not support real-time
-	    priority, you can set this to <literal>true</literal>.
+	    priority, you can set this to <literal>false</literal>.
 	  </para>
 	  <para>
-	    Default: <literal>false</literal>
+	    Default: <literal>true</literal>
 	  </para>
 	</listitem>
       </varlistentry>
diff --git a/ctdb/doc/examples/config_migrate.sh b/ctdb/doc/examples/config_migrate.sh
index 8eefd03..8479aeb 100755
--- a/ctdb/doc/examples/config_migrate.sh
+++ b/ctdb/doc/examples/config_migrate.sh
@@ -109,33 +109,44 @@ out_file_remove_if_empty ()
 # script
 #
 
-# Convert a ctdbd.conf opt+val into a ctdb.conf section+opt
+# Convert a ctdbd.conf opt+val into a ctdb.conf section+opt+val
 #
 # If opt is matched and val is empty then output is printed, allowing
 # this function to be reused to check if opt is valid.
+#
+# Note that for boolean options, the expected value and the new value
+# form part of the data.
 get_ctdb_conf_option ()
 {
 	_opt="$1"
 	_val="$2"
 
 	awk -v opt="${_opt}" -v val="${_val}" \
-	    '$3 == opt { if (!$4 || !val || val ==$4) { print $1, $2 } }' <<EOF
-cluster		node-address			CTDB_NODE_ADDRESS
-cluster		recovery-lock			CTDB_RECOVERY_LOCK
-cluster		transport			CTDB_TRANSPORT
-database	lock-debug-script		CTDB_DEBUG_LOCKS
-database	persistent-database-directory	CTDB_DBDIR_PERSISTENT
-database	state-database-directory	CTDB_DBDIR_STATE
-database	volatile-database-directory	CTDB_DBDIR
-event		debug-script			CTDB_DEBUG_HUNG_SCRIPT
-legacy		lmaster-capability		CTDB_CAPABILITY_LMASTER	     no
-legacy		no-realtime			CTDB_NOSETSCHED		     yes
-legacy		recmaster-capability		CTDB_CAPABILITY_RECMASTER    no
-legacy		script-log-level		CTDB_SCRIPT_LOG_LEVEL
-legacy		start-as-disabled		CTDB_START_AS_DISABLED	     yes
-legacy		start-as-stopped		CTDB_START_AS_STOPPED	     yes
-logging		location			CTDB_LOGGING


-- 
Samba Shared Repository



More information about the samba-cvs mailing list