aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rwxr-xr-xinit.d/checkroot18
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 <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~~