FS#21013 - [sysvinit] unclean shutdown if not "init u" is executed.
Attached to Project:
Arch Linux
Opened by Gerardo Exequiel Pozzi (djgera) - Friday, 01 October 2010, 03:57 GMT
Last edited by Eric Belanger (Snowman) - Monday, 04 October 2010, 15:04 GMT
Opened by Gerardo Exequiel Pozzi (djgera) - Friday, 01 October 2010, 03:57 GMT
Last edited by Eric Belanger (Snowman) - Monday, 04 October 2010, 15:04 GMT
|
Details
Description: I commonly execute "init u" after a sysvinit
update, so "init" proccess is re-execute itself. But this
time I missed this step, so when I rebooted / was not clean
umounted.
Solution: Execute [ -x sbin/init ] && sbin/init u on post_upgrade() in .INSTALL Additional info: sysvinit-2.88-1 Steps to reproduce: pacman -S sysvinit reboot/shutdown the system Messages on shutdown: :: Unmounting Filesystems [BUSY] umount: /: device is busy. [DONE] :: Remounting Root Filesystem Read-only [BUSY] mount: / is busy [DONE] Messages on first startup after upgrade: EXT4-fs (sda1): INFO: recovery required on readonly filesystem EXT4-fs (sda1): write access will be enabled during recovery EXT4-fs (sda1): orphan cleanup on readonly fs EXT4-fs (sda1): 1 orphan inode deleted EXT4-fs (sda1): recovery complete |
This task depends upon
I'll see if I can reproduce it on my ext3 system.
@Eric: unrelated to fs type. This is because init is loaded "as TXT", filename entry pointer to inode is (deleted) but the inode is still used. Same semantic when you try to open+w a file that is loaded as TXT, you will see something like "text file busy".
Example:
# mount -t tmpfs none /mnt/test
# cp /bin/sleep /mnt/test
# /mnt/test/sleep 1m &
# mount /mnt/test -o remount,ro
mount: /mnt/test is busy