On Sun, Apr 10, 2011 at 1:18 AM, Seblu <[email protected]> wrote: > On Sun, Apr 3, 2011 at 3:35 PM, Tom Gundersen <[email protected]> wrote: >> On Sun, Apr 3, 2011 at 4:01 PM, Seblu <[email protected]> wrote: >>> On Wed, Mar 30, 2011 at 8:01 PM, Tom Gundersen <[email protected]> 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 <[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 >>>> >>>> >>> 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 >> >> Thanks, I'll change before I push. >> >> -t >> > > Hey tom, you make a mistake copying my suggestion in commit > 71a1b74eb778540d412705b09a24f1d2ba123a2b > > it's > if [[ -L /etc/mtab ]]; then > : > > not > > if [[ -L /etc/mtab ]]; then > ; > > because the second cause a syntax error :/ > > : is like true is bash. > > So current upstream is broken :/ > > :: Mounting Local Filesystems > [BUSY] > EXT4-fs (sda2): re-mounted. Opts: (null) > /etc/rc.sysinit: line 278: syntax error near unexpected token `;' > /etc/rc.sysinit: line 278: ` ;' > INIT: Entering runlevel: 3 > > You also miss replace -a by && in line 279. ;)
-- Sébastien Luttringer www.seblu.net
