On 04/18/2015 02:31 PM, Paul Colquhoun wrote:
> On Sat, 18 Apr 2015 11:48:12 walt wrote:
>
>> I have two similar but not identical ~amd64 machines, and *one* of
>> the
>
>> two machines is doing something new and strange when I type "mount"
>> with
>
>> no arguments.
>
>>
>
>> The "bad" machine prints the list of mounted filesystems as it
>> should,
>
>> but then proceeds to read the partition table on every disk in the
>> machine
>
>> and writes a fresh version of /run/blkid/blkid.tab .
>
>>
>
>> This has the very annoying side effect of spinning up any sleeping
>> disks,
>
>> including the floppy disk (but not the dvd player, thankfully).
>
>>
>
>> I re-installed util-linux, which installs the "mount" utility, but
>> no
>
>> difference. (The two machines both have util-linux-2.26.1-r1).
>
>>
>
>> This new behavior began on April 14, FWIW, and the only package I
>> installed
>
>> on that machine that day was gentoo-sources-3.14.38, which is why I
>> blamed
>
>> the new kernel for the new behavior but I discovered since then
>> that it
>
>> happens with all the old kernels too.
>
>>
>
>> I'm stumped. Any ideas?
>
>
>
>
>
> Are you sure they are both running the same mount command?
>
>
>
> What does 'type mount' or 'which mount' show for each machine?
>
>
>
> Is the 'bad' machine perhaps using the '-l' option, which looks like
> it may need to read information from partitions on the fly:
>
>
>
> -l, --show-labels
>
> Add the labels in the mount output. mount must have permission to
> read
>
> the disk device (e.g. be suid root) for this to work. One can set
> such
>
> a label for ext2, ext3 or ext4 using the e2label(8) utility, or for
> XFS
>
> using xfs_admin(8), or for reiserfs using reiserfstune(8).
>
>
>
> On the other hand, using '-l' on my machine didn't appear to try
> anything, and didn't rewrite /run/blkid/blkid.tab but that may be
> because I don't use labels.
Good questions, thanks.
I know both machines are actually running /bin/mount and not using any
arguments (like -l) because strace shows me that info in its first line
of output:
execve("/bin/mount", ["mount"], [/* 61 vars */]) = 0
That number 61 on the 'bad' machine is 48, though, and I don't know where
that odd-looking string of characters is generated or what it means. To me
it looks like a comment in a file of 'c' code.
Still stumped :(