1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Fix clvmd init script return code when executed as non-root user.

clvmd daemon itself does the right thing when invoked as non-root, by
returning 4.

The patch removes the use daemon function from
/etc/rc.d/init.d/functions that´s unnecessary and has th bad habit to
mask the return codes from the real daemon.

Add a simple and generic check to see if clvmd is executed by root or not.

Our stop/reload/restart paths in the init script are complex and not all
the tools involved in the process are guaranteed to return 4 if executed
by non-root against a process that´s running as root (for example kill
-TERM will return -1 and parsing the output to catch the error is
suboptimal at best).

https://bugzilla.redhat.com/show_bug.cgi?id=553381
This commit is contained in:
Fabio M. Di Nitto 2010-08-12 09:14:59 +00:00
parent 9ac9e06b5c
commit 2565ffad25
2 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.73 -
================================
Fix clvmd init script exit code when executed as non-root user.
Change default alignment of pe_start to 1MB.
Add --norestorefile option to pvcreate.
Require --restorefile when using pvcreate --uuid.

View File

@ -66,7 +66,7 @@ start()
{
if ! rh_status_q; then
echo -n "Starting $DAEMON: "
daemon $DAEMON $CLVMDOPTS || return $?
$DAEMON $CLVMDOPTS || return $?
echo
fi
@ -165,6 +165,11 @@ restart() {
fi
}
[ "$EUID" != "0" ] && {
echo "clvmd init script can only be executed as root user"
exit 4
}
# See how we were called.
case "$1" in
start)