Re: v2.29 plan: kill mtab

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Apr 10, 2016 at 09:35:41PM -0700, Robby Workman wrote:
> Karel Zak wrote:
> 
> > libmount supports three scenarios:
> > 
> > 1) regular classic /etc/mtab
> > 
> > 2) /etc/mtab symlink to /proc/self/mount -- in this case libmount uses
> >    /proc/self/mountinfo and /run/mount/utab
> > 
> > The current default is to detect symlink and on-the-fly switch
> > between 1) and 2).
> > 
> > 3) --enable-libmount-force-mountinfo -- don't care about the symlink
> >    and always use /proc/self/mountinfo. This is robust solution required
> >    for example by systemd, because unfortunately sometimes people use
> >    broken stuff (init scripts, tools, etc.) which removes the symlink.
> > 
> > 
> > I'd like to make 3) default, the question is what with mtab code:
> > 
> >    a) #ifdef all mtab code (and add --enable-libmount-support-mtab)
> > 
> >    b) remove mtab support at all (because it's evil and horrible code)
> > 
> > Comments?
> 
> 
> We still use SysV init because it suits our needs just fine, and we
> have no plans to migrate to systemd in the foreseeable future, so
> we don't have any other compelling reason to use anything other than
> classic /etc/mtab. As such, we'd certainly appreciate, at the very
> least, leaving the mtab support in util-linux.

Contrary to the implication of the mail you quote, whether to use mtab
is not primarily about systemd. Alpine Linux, the distro I use, uses
the /proc/mounts symlink; the userspace is Busybox/OpenRC with musl libc.

The main reason to use /proc/self/mountinfo is that it can be relied on
to tell you what filesystems are mounted where, even if you use chroots,
mount namespaces, private mounts, and similar things. This is because
the kernel necessarily needs to keep track of mounts on a per-process
basis. 
mtab can get confused by chroots and bind mounts, because /etc/mtab
is the userspace keeping track, manually, of the same information,
based on the assumptions that it's the only toolset doing mounts and
unmounts, that everything has the same mounts, and so on; essentially,
it's like keeping track of the number of people in a room by watching
who goes in or out.
Why would you bother counting people going through the door if you have
a window?
Why use code that poorly duplicates information the kernel *needs* to
have an accurate record of?



Thanks,
Isaac Dunham
--
To unsubscribe from this list: send the line "unsubscribe util-linux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux