60.nfs Check if we have rpc.statd and if not, skip checking for statd
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 6 Jan 2011 04:42:45 +0000 (15:42 +1100)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Thu, 6 Jan 2011 04:42:45 +0000 (15:42 +1100)
availability at all (since we cant restart it, there is not point checking
if it is alive)

config/events.d/60.nfs

index 87955df92ccd4595210943f734d83a1f0afe657c..301ead8bb59a680bde0eadceecf824a620496ce1 100755 (executable)
@@ -55,24 +55,29 @@ case "$1" in
 
        # check that statd responds to rpc requests
        # if statd is not running we try to restart it
-       if ctdb_check_rpc "STATD" 100024 1 >/dev/null ; then
-               (service_name="nfs_statd"; ctdb_counter_init)
-       else
-               p="rpc.statd" ; cmd="$p"
-               cmd="${cmd}${STATD_HOSTNAME:+ -n }${STATD_HOSTNAME}"
-               cmd="${cmd}${STATD_PORT:+ -p }${STATD_PORT}"
-               cmd="${cmd}${STATD_OUTGOING_PORT:+ -o }${STATD_OUTGOING_PORT}"
-               (
-                       service_name="nfs_statd"
-                       ctdb_counter_incr
-                       ctdb_check_counter_limit 10 quiet >/dev/null
-               ) || {
-                       echo "$ctdb_check_rpc_out"
-                       echo "Trying to restart STATD [$cmd]"
-               }
-               $cmd
-       fi
-
+       # we only do this IF we have a rpc.statd command.
+       # For platforms where rpc.statd does not exist, we skip
+       # the check compeltely
+       p="rpc.statd"
+       which $p >/dev/null 2>/dev/null && {
+               if ctdb_check_rpc "STATD" 1000247 1 >/dev/null ; then
+                       (service_name="nfs_statd"; ctdb_counter_init)
+               else
+                       cmd="$p"
+                       cmd="${cmd}${STATD_HOSTNAME:+ -n }${STATD_HOSTNAME}"
+                       cmd="${cmd}${STATD_PORT:+ -p }${STATD_PORT}"
+                       cmd="${cmd}${STATD_OUTGOING_PORT:+ -o }${STATD_OUTGOING_PORT}"
+                       (
+                               service_name="nfs_statd"
+                               ctdb_counter_incr
+                               ctdb_check_counter_limit 10 quiet >/dev/null
+                       ) || {
+                               echo "$ctdb_check_rpc_out"
+                               echo "Trying to restart STATD [$cmd]"
+                               $cmd
+                       }
+               fi
+       }
 
        # check that NFS responds to rpc requests
        [ "$CTDB_NFS_SKIP_KNFSD_ALIVE_CHECK" = "yes" ] || {