From e2ba92f77362097621c977e0e46d4c3e6a509c37 Mon Sep 17 00:00:00 2001 From: Roy Marples Date: Mon, 29 Oct 2007 13:53:21 +0000 Subject: /etc/mtab is now a true reflection on /proc/mounts. The only exception is that we punt any / on tmpfs entry, #194615. --- ChangeLog | 3 +++ init.d/checkroot | 18 +++++------------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8d1eb578..d819f09e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ 29 Oct 2007; Roy Marples : + /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~~ -- cgit v1.2.3