[arch-projects] [PATCH 04/10] mtab: don't write to mtab if it is a symlink

Seblu seblu at seblu.net
Sun Apr 3 04:01:12 EDT 2011


On Wed, Mar 30, 2011 at 8:01 PM, Tom Gundersen <teg at jklm.no> wrote:
> 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 <teg at jklm.no>
> ---
>  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
>
>
Maybe you should use bash style with [[.

Something like the follwing looks better

if [[ -L /etc/mtab ]]; then
  :
elif [[ -x /bin/findmnt && -e /proc/self/mountinfo ]]; then
  /bin/findmnt -rnu -o SOURCE,TARGET,FSTYPE,OPTIONS >| /etc/mtab
else
  cat /proc/mounts >| /etc/mtab
fi


-- 
Sébastien Luttringer
www.seblu.net


More information about the arch-projects mailing list