mirror of
https://git.openafs.org/openafs.git
synced 2025-01-31 05:27:44 +00:00
Prevent double-starting client on RHEL7
On RHEL7 if the AFS client is stopped with 'service openafs-client stop', but that fails for some reason (most commonly because some process has a file or directory in AFS open) systemd will decide that the openafs-client is in a failed state when it is actually running. If one then runs 'service openafs-client start' systemd will start a new AFS client. At this point AFS access will continue to work until the functional AFS client is (successfully) stopped, at which point a reboot is required to recover. Have systemd check the status of 'fs sysname' before starting the AFS client, so we avoid getting into a state that requires a reboot. Reviewed-on: https://gerrit.openafs.org/12443 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Michael Meffie <mmeffie@sinenomine.net> Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> (cherry picked from commit c666bfee8848183ccbc566c9e0fa019088e56505) Change-Id: I2e7bf69ec5d1ae344d38b86fc3caace25b2da135 Reviewed-on: https://gerrit.openafs.org/12587 Tested-by: BuildBot <buildbot@rampaginggeek.com> Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
parent
24a04be1ab
commit
3b5e0cee5b
@ -8,6 +8,7 @@ Before=remote-fs.target
|
||||
Type=forking
|
||||
RemainAfterExit=true
|
||||
EnvironmentFile=/etc/sysconfig/openafs
|
||||
ExecStartPre=/bin/bash -c "fs sysname > /dev/null 2>/dev/null; test $? -ne 0 || (echo AFS client appears to be running -- not starting && exit 1)"
|
||||
ExecStartPre=/bin/sed -n 'w/usr/vice/etc/CellServDB' /usr/vice/etc/CellServDB.local /usr/vice/etc/CellServDB.dist
|
||||
ExecStartPre=/bin/chmod 0644 /usr/vice/etc/CellServDB
|
||||
ExecStartPre=/sbin/modprobe openafs
|
||||
|
Loading…
x
Reference in New Issue
Block a user