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 <[email protected]>
+   * BUG 13585: s3: smbd: Ensure get_real_filename() copes with empty
+     pathnames.
+
+o  Tim Beale <[email protected]>
+   * BUG 13566: samba domain backup online/rename commands force user to 
specify
+     password on CLI.
+
+o  Alexander Bokovoy <[email protected]>
+   * BUG 13579: wafsamba/samba_abi: Always hide ABI symbols which must be
+     local.
+
+o  Volker Lendecke <[email protected]>
+   * BUG 13584: Fix a panic if fruit_access_check detects a locking conflict.
+
+o  Andreas Schneider <[email protected]>
+   * BUG 13567: Fix memory and resource leaks.
+   * BUG 13580: python: Fix print in dns_invalid.py.
+
+o  Martin Schwenke <[email protected]>
+   * BUG 13588: Aliasing issue causes incorrect IPv6 checksum.
+   * BUG 13589: Fix CTDB configuration issues.
+
+o  Ralph Wuerthner <[email protected]>
+   * 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

Reply via email to