78 lines
2.2 KiB
Diff
78 lines
2.2 KiB
Diff
From 530c48138f7dedaf99ae1ca98865d2f8b7432475 Mon Sep 17 00:00:00 2001
|
|
From: Eberhard Kuemmerle <E.Kuemmerle@fz-juelich.de>
|
|
Date: Thu, 12 Sep 2019 21:10:43 +0200
|
|
Subject: [PATCH] nfsserver: performance improvements for systemd enabled
|
|
systems
|
|
|
|
> I found two critical actions in the script:
|
|
> - systemctl status nfs-server (which also calls journalctl)
|
|
> - systemctl list-unit-files
|
|
|
|
source:
|
|
https://lists.clusterlabs.org/pipermail/developers/2019-September/002214.html
|
|
---
|
|
heartbeat/nfsserver | 37 +++++++++++++++++++------------------
|
|
1 file changed, 19 insertions(+), 18 deletions(-)
|
|
|
|
diff --git a/heartbeat/nfsserver b/heartbeat/nfsserver
|
|
index bf59da98e..8527a90f3 100755
|
|
--- a/heartbeat/nfsserver
|
|
+++ b/heartbeat/nfsserver
|
|
@@ -233,24 +233,25 @@ set_exec_mode()
|
|
return 0
|
|
fi
|
|
|
|
- ##
|
|
- # Attempt systemd (with nfs-lock.service).
|
|
- ##
|
|
if which systemctl > /dev/null 2>&1; then
|
|
- if systemctl list-unit-files | grep nfs-server > /dev/null && systemctl list-unit-files | grep nfs-lock > /dev/null; then
|
|
- EXEC_MODE=2
|
|
- # when using systemd, the nfs-lock service file handles nfsv3 locking daemons for us.
|
|
- return 0
|
|
- fi
|
|
- fi
|
|
+ if systemctl list-unit-files 'nfs-*' | grep nfs-server > /dev/null; then
|
|
+
|
|
+ ##
|
|
+ # Attempt systemd (with nfs-lock.service).
|
|
+ ##
|
|
+ if systemctl list-unit-files 'nfs-*' | grep nfs-lock > /dev/null; then
|
|
+ EXEC_MODE=2
|
|
+ # when using systemd, the nfs-lock service file handles nfsv3 locking daemons for us.
|
|
+ return 0
|
|
+ fi
|
|
|
|
- ##
|
|
- # Attempt systemd (with rpc-statd.service).
|
|
- ##
|
|
- if which systemctl > /dev/null 2>&1; then
|
|
- if systemctl list-unit-files | grep nfs-server > /dev/null && systemctl list-unit-files | grep rpc-statd > /dev/null; then
|
|
- EXEC_MODE=3
|
|
- return 0
|
|
+ ##
|
|
+ # Attempt systemd (with rpc-statd.service).
|
|
+ ##
|
|
+ if systemctl list-unit-files 'rpc-*' | grep rpc-statd > /dev/null; then
|
|
+ EXEC_MODE=3
|
|
+ return 0
|
|
+ fi
|
|
fi
|
|
fi
|
|
|
|
@@ -272,12 +273,12 @@ nfs_exec()
|
|
2) if ! echo $svc | grep -q "\."; then
|
|
svc="${svc}.service"
|
|
fi
|
|
- systemctl $cmd $svc
|
|
+ systemctl -n0 $cmd $svc
|
|
;;
|
|
3) if ! echo $svc | grep -q "\."; then
|
|
svc="${svc}.service"
|
|
fi
|
|
- systemctl $cmd $svc
|
|
+ systemctl -n0 $cmd $svc
|
|
;;
|
|
esac
|
|
}
|