]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Check if AFS is mounted before killing processes with open files
authorRuss Allbery <rra@debian.org>
Tue, 4 May 2010 23:26:15 +0000 (16:26 -0700)
committerRuss Allbery <rra@debian.org>
Tue, 4 May 2010 23:51:31 +0000 (16:51 -0700)
* Skip killing processes with files open in AFS if AFS does not appear
  to be mounted according to /etc/mtab.  Otherwise, we may call lsof
  without a specific mount point and kill far more processes than we
  intend to.  (This code is disabled by default, so this problem would
  only be seen by people who enabled it.)

debian/openafs-client.init

index 6ad150da9d1e0a6563cfdb6d8abdacb70fbfe884..02de249b56e01a930331d9bcf8f18996272e211d 100755 (executable)
@@ -178,10 +178,12 @@ start_client() {
 kill_afs() {
     signal=$1
     mount=`grep ^'AFS ' /etc/mtab | awk '{ print $2 }'`
-    pids=`/usr/bin/lsof -Fp $mount | sed 's/p//'`
-    if [ -n "$pids" ] ; then
-        kill -$signal $pids > /dev/null 2>&1
-        sleep 1
+    if [ -n "$mount" ] ; then
+        pids=`/usr/bin/lsof -Fp $mount | sed 's/p//'`
+        if [ -n "$pids" ] ; then
+            kill -$signal $pids > /dev/null 2>&1
+            sleep 1
+        fi
     fi
 }