RedHat: Return status values from client init
authorWill Maier <wcmaier@hep.wisc.edu>
Sun, 31 Jul 2011 13:24:12 +0000 (14:24 +0100)
committerDerrick Brashear <shadow@dementia.org>
Mon, 1 Aug 2011 12:03:18 +0000 (05:03 -0700)
The init script provided with OpenAFS always returns 0 when the status
subcommand is called, even if the service is not running.

For example:

$ sudo service afs status; echo $?
afsd is stopped
0

This change makes sure the init script exits with the value returned
by the status function from /etc/init.d/functions. With this patch,
the afs init script behaves as expected when used, for example, in a
Chef service resource:

$ sudo service afs status; echo $?
afsd is stopped
3

Change-Id: If3d317fc406746f357e29e0d8d82c7ccf3c192d7
Reviewed-on: http://gerrit.openafs.org/5123
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/packaging/RedHat/openafs-client.init

index 10ec647..f07ff16 100644 (file)
@@ -61,6 +61,7 @@ stop() {
 
 rhstatus() {
        status afsd
+       return $?
 }
 
 restart() {
@@ -80,6 +81,7 @@ case "$1" in
         ;;
   status)
         rhstatus
+       exit $?
         ;;
   condrestart)
         [ -f /var/lock/subsys/openafs-client ] && restart || :