[Pkg-sysvinit-devel] Bug#653073: Switching /etc/mtab to /proc/mounts and removing /lib/init/rw

Goswin von Brederlow goswin-v-b at web.de
Fri Jan 20 07:55:16 UTC 2012


Michael Tokarev <mjt at tls.msk.ru> writes:

> On 19.01.2012 19:09, Michael Tokarev wrote:
>> On 18.01.2012 18:18, Roger Leigh wrote:
>>> clone 653073 -1
>>> retitle -1 df: [patch] Please ignore rootfs in df output
>>> reassign -1 coreutils
>>> thanks
>>>
>>> On Wed, Jan 18, 2012 at 03:05:58PM +0100, Goswin von Brederlow wrote:
>>>> jidanni at jidanni.org writes:
>>>>
>>>>> Forty years of pleasant df(1) and mount(1) reading shattered in one day,
>>>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653073
>>>>
>>>> Any update on why the root filesystem is listed by UUID? Is that a
>>>> problem of busybox mount reporting the long device name to the kernel
>>>> why real mount uses the short one?
>>>
>>> This needs to be investigated by Dan, as I requested in the report.
>>> It's just a matter of looking at what is really happening in the
>>> initramfs with e.g. break=init-bottom.
>> 
>> It is due to busybox mount, which does not perform any canonicalizing
>> of the device argument but passes it as-is to the kernel.  On the
>> contrary, mount from util-linux resolves the symlink if given as
>> the device name.
>> 
>> And initramfs does this:
>> 
>> init:		UUID=*)
>> init:			ROOT="/dev/disk/by-uuid/${ROOT#UUID=}"
>> 
>> whichis later passed to busybox's mount, which happily passes
>> this /dev/disk/... stuff to kernel, which in turn happily
>> shows it in /proc/mounts.
>> 
>> It looks like mount from klibc does not do any canonicalisation
>> too, only util-linux mount does.
> []
>> And yes it is kinda trivial to add a call to realpath(3) to
>> busybox (or equivalent).
>
> Or add readlink into initramfs-tools, for that matter.
>
> But it is still not clear if it is a bug or not :)
>
> /mjt

As a side note: With LVM you get entries like:

/dev/mapper/r-usr       7224824     6392404     465460  94% /usr

I would much rather have:

/dev/r/usr       7224824     6392404     465460  94% /usr


But I guess the solution for this would be to have udev make /dev/r/usr
the real device and /dev/mapper/r-usr a symlink.


What result does "LABEL=..." get?

MfG
        Goswin





More information about the Pkg-sysvinit-devel mailing list