ctdb-scripts: Initialise CTDB_NFS_CALLOUT in statd-callout
authorMartin Schwenke <martin@meltin.net>
Mon, 13 Feb 2017 22:04:41 +0000 (09:04 +1100)
committerMartin Schwenke <martins@samba.org>
Thu, 16 Feb 2017 08:21:03 +0000 (09:21 +0100)
Some configurations may set CTDB_NFS_CALLOUT to the empty string.
They may do this if they allow a choice of NFS implementations.  In
this case the default call-out for Linux kernel NFS should be used.
However, statd-callout does not call nfs_callout_init() to set the
default.  Therefore, statd-callout is unable to restart the lock
manager, so the grace period is never entered.

statd-callout must call nfs_callout_init() before trying to restart
the lock manager.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=12589

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Thu Feb 16 09:21:03 CET 2017 on sn-devel-144

ctdb/config/statd-callout

index 3f2dd39f68fc7b6752cd41e8187b5a4b629adee7..38f847b1d9b03ea3cc545f207d9cecdb37e3b73a 100755 (executable)
@@ -128,6 +128,7 @@ case "$1" in
        # where the lock manager will respond "strangely" immediately
        # after restarting it, which causes clients to fail to reclaim
        # their locks.
+       nfs_callout_init
        "$CTDB_NFS_CALLOUT" "stop" "nlockmgr" >/dev/null 2>&1
         sleep 2
        "$CTDB_NFS_CALLOUT" "start" "nlockmgr" >/dev/null 2>&1