diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rwxr-xr-x | init.d/checkroot | 18 |
2 files changed, 8 insertions, 13 deletions
@@ -3,6 +3,9 @@ 29 Oct 2007; Roy Marples <uberlord@gentoo.org>: + /etc/mtab is now a true reflection on /proc/mounts. + The only exception is that we punt any / on tmpfs entry, #194615. + Network config arrays are now split by embedded new lines instead of being evaled into space separated values. This makes it easier to read, maintain and document as discussed on gentoo-dev. diff --git a/init.d/checkroot b/init.d/checkroot index 959ca0b3..eadb65c9 100755 --- a/init.d/checkroot +++ b/init.d/checkroot @@ -13,19 +13,11 @@ do_mtab() { fi ebegin "Updating /etc/mtab" - # Add the entry for / to mtab - mount -f / - - # Don't list root more than once - grep -v "^[^ ]* / " /proc/mounts >> /etc/mtab - - # Now make sure /etc/mtab have additional info (gid, etc) in there - local mnt= - mountinfo | while read mnt; do - if fstabinfo --quiet "${mnt}"; then - mount -f -o remount "${mnt}" - fi - done + # With / as tmpfs we cannot umount -at tmpfs in localmount as that + # makes / readonly and dismounts all tmpfs even if in use which is + # not good. Luckily, umount uses /etc/mtab instead of /proc/mounts + # which allows this hack to work. + grep -v "^[^ ]* / tmpfs" /proc/mounts > /etc/mtab # Remove stale backups rm -f /etc/mtab~ /etc/mtab~~ |