Package: initscripts Version: 2.88dsf-13.1 Severity: important Hello folks,
While building a system based on an "aufs" root, I noticed that all partitions, at start up, always require fsck when the union is used, even after clean shutdowns. The /etc/rc0.d/K08umountfs node (really /etc/init.d/umountfs ) fails to unmount them at shutdown. That script contains this logic to determine which mounted entries not to unmount: ======================== do_stop () { exec 9<&0 </proc/mounts PROTECTED_MOUNTS="$(sed -n '0,/^\/[^ ]* \/ /p' /proc/mounts)" ======================== This protects all mounts "up to the / ". However, such sed pattern matches the root filesystem as "is mounted on path <slash> AND the mount device starts with <slash>". If the root filesystem is mounted from a node such as "aufs", the root line does not match, and all mounts end up in PROTECTED_MOUNTS. I suppose the additional "/" constraint is a hack used to prevent matching the initial "rootfs /" entry. I would rewrite this as: PROTECTED_MOUNTS="$(awk 'NR==1,$1 != "rootfs" && $2 == "/"' /proc/mounts)" or, since awk dwells in /usr, PROTECTED_MOUNTS="$(sed -n ':a;/^[^ ]* \/ /!{H;n;ba};{H;s/.*//;x;s/\n//;p}' /proc/mounts)" This unmounts all entries down to the "base" root which is not the kernel standard "rootfs". If / is mounted multiple times, this unmounts all "stacked" entries as well. In the "aufs" case I described above, this ensures the additional partitions are cleanly unmounted. Any comments? cheers michele -- System Information: Debian Release: 6.0.3 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: armel (armv5tel) Kernel: Linux 2.6.32-5-kirkwood Locale: LANG=en_US.UTF-8, LC_CTYPE=UTF-8 (charmap=locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/dash Versions of packages initscripts depends on: ii coreutils 8.5-1 GNU core utilities ii debianutils 3.4 Miscellaneous utilities specific t ii libc6 2.11.2-10 Embedded GNU C Library: Shared lib ii lsb-base 3.2-23.2squeeze1 Linux Standard Base 3.2 init scrip ii sysv-rc 2.88dsf-13.1 System-V-like runlevel change mech ii sysvinit-utils 2.88dsf-13.1 System-V-like utilities Versions of packages initscripts recommends: ii e2fsprogs 1.41.12-4stable1 ext2/ext3/ext4 file system utiliti ii psmisc 22.11-1 utilities that use the proc file s initscripts suggests no packages. -- debconf information excluded
umountfs.patch
Description: Binary data