In the future /etc/mtab should be a symlink to /proc/self/mounts, add
support for this in rc.sysinit to be prepared. While strictly not
needed, this makes it clear that the functionality can be removed once
we move over to using symlinks.

This functionality is expected with the next release of util-linux
(2.20), but is already available in the current version if the
experimental libmount support is enabled.

Signed-off-by: Tom Gundersen <[email protected]>
---
 rc.sysinit |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/rc.sysinit b/rc.sysinit
index 69fdab3..1601e7a 100755
--- a/rc.sysinit
+++ b/rc.sysinit
@@ -279,11 +279,16 @@ fi
 
 stat_busy "Mounting Local Filesystems"
 /bin/mount -n -o remount,rw /
-if [ -x /bin/findmnt -a -e /proc/self/mountinfo ]; then
-       /bin/findmnt -rnu -o SOURCE,TARGET,FSTYPE,OPTIONS >| /etc/mtab
-else
-       cat /proc/mounts >| /etc/mtab
+
+# don't touch /etc/mtab if it is a symlink to /proc/self/mounts
+if [ ! -L /etc/mtab ]; then
+       if [ -x /bin/findmnt -a -e /proc/self/mountinfo ]; then
+               /bin/findmnt -rnu -o SOURCE,TARGET,FSTYPE,OPTIONS >| /etc/mtab
+       else
+               cat /proc/mounts >| /etc/mtab
+       fi
 fi
+
 run_hook sysinit_premount
 # now mount all the local filesystems
 /bin/mount -a -t $NETFS -O no_netdev
-- 
1.7.4.2

Reply via email to