[systemd-devel] Identical mount resulting in different options

Lennart Poettering lennart at poettering.net
Tue Jun 4 10:54:26 PDT 2013


On Tue, 21.05.13 23:03, Florian Lindner (mailinglists at xgm.de) wrote:

> Hello!
> 
> I am on an Arch Linux machine. Kernel is 3.9.3 x86_64, systemd 204.
> 
> I have two identical hard drives. Both have a gparted created GPT table and a 
> CLI created ext4 filesystem with no options other than -L (label).
> Archiv_1 was created like two weeks before Archiv_2 (which was created right 
> now). I don't know about the exact kernel version or Archiv_1.
> 
> Both are set in fstab with identical fstab options:
> 
> LABEL=Archiv_1  /mnt/Archiv_1           ext4            defaults
> LABEL=Archiv_2  /mnt/Archiv_2           ext4            defaults
> 
> yet they are actually mounted using a different option:
> 
> /dev/sde1 on /mnt/Archiv_1 type ext4 (rw,relatime)
> /dev/sdd1 on /mnt/Archiv_2 type ext4 (rw,relatime,data=ordered)
> 
> Default mount options from tune2fs are identical:
> 
> root at horus /mnt/Archiv_2 # tune2fs -l /dev/sde1 | grep "mount options" 
> Default mount options:    user_xattr acl
> root at horus /mnt/Archiv_2 # tune2fs -l /dev/sdd1 | grep "mount options" 
> Default mount options:    user_xattr acl
> 
> so is the mount file in run/systemd/generator/
> 
> But somehow systemd uses different options:
> 
> root at horus ~ # systemctl show mnt-Archiv_1.mount > A1
> root at horus ~ # systemctl show mnt-Archiv_2.mount > A2
> root at horus ~ # diff -y A1 A2
> [...]
> Where=/mnt/Archiv_1                                           | 
> Where=/mnt/Archiv_2
> 
> What=/dev/sde1                                                | What=/dev/sdd1
> 
> Options=rw,relatime,rw                                        | 
> Options=rw,relatime,rw,data=ordered
> [...]
> 
> 

How do the entries in /proc/self/mountinfo look like? Do they have the
same mount options there?

Note that data=ordered is the default anyway, so the two option strings
are effectively identical.

My guess is that the string is not passed in from userspace but added by
the kernel, and the kernel is broked and sometimes omits adding this,
and sometimes doesn't.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list