1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00
samba-mirror/ctdb/config
Martin Schwenke 0159c48e89 ctdb-scripts: Do not de-duplicate the interfaces list
Using xargs with sort -u to de-duplicate this list was my idea and
causes a couple of things to go wrong.  The use of xargs causes
double-quotes to be lost.  The resulting $public_ifaces value also
contains newlines.  The newlines could be removed with an additional
xargs at the end of the pipeline... but that would add an extra level
of quote stripping.

I have unsuccessfully tried to find an alternative, but still elegant,
command pipeline that de-duplicates the list, while maintaining
quoting.

So, just drop the de-duplication.

This might make interface_ifindex_exists_with_options() slightly less
efficient.  However, that function walks the whole list, only
terminating early when a match is found on both interface and options,
so at least it will be correct.

Include an extra testcase.

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Thu Apr 18 09:08:34 UTC 2024 on atb-devel-224
2024-04-18 09:08:34 +00:00
..
events ctdb-scripts: Do not de-duplicate the interfaces list 2024-04-18 09:08:34 +00:00
nfs-checks.d ctdb-scripts: Stop/start mount/rquotad/status via NFS call-out 2019-03-31 10:45:20 +00:00
ctdb-crash-cleanup.sh ctdb-scripts: Avoid ShellCheck warning SC2164 2022-07-22 06:38:32 +00:00
ctdb.conf ctdb-config: [cluster] recovery lock -> [cluster] cluster lock 2022-01-17 10:21:33 +00:00
ctdb.init ctdb-scripts: Drop uses of ctdbd_wrapper 2022-04-06 06:34:37 +00:00
ctdb.sudoers ctdb-scripts: Update important installed files to use build-time defaults 2015-09-15 08:56:21 +02:00
ctdb.sysconfig ctdb-config: Drop CTDB_STARTUP_TIMEOUT 2022-04-06 06:34:37 +00:00
ctdb.tunables ctdb-scripts: Tunables are now loaded from ctdb.tunables 2018-03-28 02:57:21 +02:00
debug_locks.sh ctdb-scripts: Avoid ShellCheck warning SC2164 2022-07-22 06:38:32 +00:00
debug-hung-script.sh ctdb-scripts: Avoid ShellCheck warning SC2164 2022-07-22 06:38:32 +00:00
functions ctdb-scripts: Rename and relocate function get_all_interfaces() 2024-04-16 23:51:45 +00:00
nfs-linux-kernel-callout ctdb-scripts: Remove usage of releaseip-pre, takeip-pre pseudo-events 2024-03-06 07:09:06 +00:00
notification.README ctdb-scripts: Change directory for notifications to events/notification 2018-06-05 17:47:26 +02:00
notify.sh ctdb-scripts: Change directory for notifications to events/notification 2018-06-05 17:47:26 +02:00
README ctdb-scripts: Move event scripts to events/legacy/ directory 2018-06-05 17:47:26 +02:00
script.options ctdb-scripts: Drop event script CTDB_MANAGED_<service> variables 2018-07-11 11:48:39 +02:00
statd-callout ctdb-scripts: Use "git config" as last resort to parse nfs.conf 2022-07-22 16:09:31 +00:00

This directory contains run-time support scripts for CTDB.

Selected highlights:

  ctdb.init

    An initscript for starting ctdbd at boot time.

  events/

    Eventscripts.  See events/README for more details.

  functions

    Support functions, sourced by eventscripts and other scripts.

  statd-callout

    rpc.statd high-availability callout to support lock migration on
    failover.

Notes:

* All of these scripts are written in POSIX Bourne shell.  Please
  avoid bash-isms, including the use of "local" variables (which are
  not available in POSIX shell).

* Do not use absolute paths for commands.  Unit tests attempt to
  replace many commands with stubs and can not do this if commands are
  specified with absolute paths.  The functions file controls $PATH so
  absolute paths should not be required.