Problems umounting root fs

Brian Raymond Doherty (doherty@rice.edu)
Wed, 31 Jul 1996 23:57:07 -0500


This is a multi-part message in MIME format.

--------------3DCEB6D71848D34B4DD40440
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Whenever I do a proper shutdown on my system (using the attached
rc.0/rc.6 script) there is always one inode that ends up with zero
dtime. I know this since (now that I have discovered the problem) I
have set up my rc.S to force an fsck on the fs every reboot. I am
posting this problem here since the script properly syncs and umounts
the fs, and thus I suspect that this is a kernel-level problem. Has
anyone else seen this problem? Am I just doing something uninformed (as
opposed to stupid :) )?

Thanks.

B

-- 
---------------------------------------------------------------------------
 Brian R. Doherty       | "You know, I bet a funny thing about driving a
 6320 S. Main St.       | car off a cliff is, while you're in midair,
you
 Houston, TX 77006      | still hit those brakes!  Hey, better try the
 doherty@rice.edu       | emergency brake!"                  -- Jack
Handey

--------------3DCEB6D71848D34B4DD40440 Content-Type: text/plain; charset=us-ascii; name="rc.6" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rc.6"

#! /bin/sh # # rc.6 This file is executed by init when it goes into runlevel # 0 (halt) or runlevel 6 (reboot). It kills all processes, # unmounts file systems and then either halts or reboots. # # Version: @(#)/etc/rc.d/rc.6 1.50 1994-01-15 # # Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org> # Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com> #

# Set the path. PATH=/sbin:/etc:/bin:/usr/bin

# # Set linefeed mode to avoid staircase effect. # stty onlcr

echo "Running shutdown script $0:"

# Find out how we were called. case "$0" in *0) message="The system is halted." command="halt" ;; *6) message="Rebooting." command=reboot ;; *) echo "$0: call me as \"rc.0\" or \"rc.6\" please!" exit 1 ;; esac

# Kill all processes. # INIT is supposed to handle this entirely now, but this didn't always # work correctly without this second pass at killing off the processes. # Since INIT already notified the user that processes were being killed, # we'll avoid echoing this info this time around. if [ "$1" != "fast" ]; then # shutdown did not already kill all processes # echo # echo "Sending all processes the TERM signal." killall5 -15 # echo -n "Waiting for processes to terminate" # for loop in 0 1 2 3 4 5 6 7 ; do sleep 1 # echo -n "." # done # echo # echo "Sending all processes the KILL signal." killall5 -9 fi

# Try to turn off quota and accounting. if [ -x /usr/sbin/quotaoff ] then echo "Turning off quota." /usr/sbin/quotaoff -a fi if [ -x /sbin/accton ] then echo "Turning off accounting." /sbin/accton fi

# Before unmounting file systems write a reboot or halt record to wtmp. $command -w

# Save localtime [ -e /usr/lib/zoneinfo/localtime ] && cp /usr/lib/zoneinfo/localtime /etc

# Asynchronously unmount any remote filesystems: echo "Unmounting remote filesystems." umount -a -tnfs & sleep 1

# Turn off swap, then unmount local file systems. echo "Turning off swap." swapoff -a echo "Unmounting local file systems." sync umount -a -tnonfs # Don't remount UMSDOS root volumes: if [ ! "`mount | head -1 | cut -d ' ' -f 5`" = "umsdos" ]; then mount -n -o remount,ro / fi

# See if this is a powerfail situation. if [ -f /etc/power_is_failing ]; then echo "Turning off UPS, bye." /usr/sbin/powerd -q exit 1 fi

# Now halt or reboot. echo "$message" sleep 1 [ ! -f /etc/fastboot ] && echo "On the next boot fsck will be FORCED." $command -f

--------------3DCEB6D71848D34B4DD40440--