[systemd-devel] fstab mounts get unmounted during boot (.device unit bouncing?)

Martin Pitt martin.pitt at ubuntu.com
Wed Feb 11 04:20:08 PST 2015


Hello all,

for a few weeks now (roughly since upgrading to 218) I often end up
with my /home and /srv (from fstab) not mounted after booting, and I
have to run "mount -a" manually.  Initially I attributed this to my
hacked-up laptop, but now I got a report from another user about that
too (https://launchpad.net/bugs/1419623)

The issue is that home.mount (from systemd-fstab-generator) does seem
to get mounted, but unmounted immediately afterwards:

The full journal and output of systemctl show/status is at
http://people.canonical.com/~pitti/tmp/debug-fstab-unmount/ but
limiting it to the partition which has /home, and the mount unit
reveals some strange things:

| $ egrep 'f8653.*device|home.mount' journal.txt
| [    5.629480] donald systemd[1]: home.mount changed dead -> mounted
| [    5.629559] donald systemd[1]: Unit home.mount is bound to inactive service. Stopping, too.
| [    5.629561] donald systemd[1]: Trying to enqueue job home.mount/stop/fail
| [    5.629569] donald systemd[1]: Installed new job home.mount/stop as 3
| [    5.629573] donald systemd[1]: Enqueued job home.mount/stop as 3
| [    5.630230] donald systemd[1]: Job home.mount/stop finished, result=canceled
| [    5.630232] donald systemd[1]: Installed new job home.mount/start as 27
| [    5.630437] donald systemd[1]: Installed new job dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device/start as 26
| [    5.630536] donald systemd[1]: Expecting device dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device...
| [    6.663570] donald systemd[1]: dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device changed dead -> plugged
| [    6.663795] donald systemd[1]: Job dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device/start finished, result=done
| [    6.672264] donald systemd[1]: Job home.mount/start finished, result=done
| [    7.077082] donald systemd[1]: home.mount changed mounted -> dead
| [    9.151474] donald systemd[1353]: dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device changed dead -> plugged
| [   21.932586] donald systemd[2069]: dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device changed dead -> plugged

That .device unit (sda3) hosts a btrfs with a few subvolumes for /,
/home, and /srv, but in the bug report the user has separate
partitions with ext4, so I don't believe it's file system specific.

So why does dev-disk-by\x2duuid-f8653...device change from dead ->
plugged three times without changing back? And why is it bouncing in
the first place? I also don't understand why home.mount goes dead
*after* the .device goes to "plugged", as it is bound to it?

After booting, dev-disk-by\x2duuid-f8653...device is running, and
curiously it does not show the bouncing:

| $ cat status_sda3.device
| ● dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device - INTEL_SSDSC2BF240A4L system
|    Follow: unit currently follows state of sys-devices-pci0000:00-0000:00:1f.2-ata1-host0-target0:0:0-0:0:0:0-block-sda-sda3.device
|    Loaded: loaded
|    Active: active (plugged) since Mi 2015-02-04 07:22:40 CET; 9min ago
|    Device: /sys/devices/pci0000:00/0000:00:1f.2/ata1/host0/target0:0:0/0:0:0:0/block/sda/sda3
| 
| Feb 04 07:22:40 donald systemd[1]: dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device changed dead -> plugged
| Feb 04 07:22:40 donald systemd[1]: Job dev-disk-by\x2duuid-f86539b0\x2d3a1b\x2d4372\x2d83b0\x2dacdd029ade68.device/start finished, result=done
| Feb 04 07:22:40 donald systemd[1]: Found device INTEL_SSDSC2BF240A4L system.

But home.mount is dead:

| $ cat status_mounts
| ● home.mount - /home
|    Loaded: loaded (/etc/fstab)
|    Active: inactive (dead) since Mi 2015-02-04 07:22:40 CET; 6min ago
|     Where: /home
|      What: /dev/disk/by-uuid/f86539b0-3a1b-4372-83b0-acdd029ade68
|      Docs: man:fstab(5)
|            man:systemd-fstab-generator(8)
| 
| Feb 04 07:22:40 donald systemd[1]: Job home.mount/start finished, result=done
| Feb 04 07:22:40 donald systemd[1]: Mounted /home.
| Feb 04 07:22:40 donald systemd[1]: home.mount changed mounted -> dead
| Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
| [... also shows /srv here, but same problem ]

For completeness, the dependencies and status of show home.mount. The
dependencies look right to me:

| Names=home.mount
| Requires=-.mount
| RequiresOverridable=systemd-fsck at dev-disk-by\x5cx2duuid-f86539b0\x5cx2d3a1b\x5cx2d4372\x5cx2d83b0\x5cx2dacdd029ade68.service
| Wants=system.slice
| BindsTo=dev-disk-by\x5cx2duuid-f86539b0\x5cx2d3a1b\x5cx2d4372\x5cx2d83b0\x5cx2dacdd029ade68.device
| RequiredBy=local-fs.target
| WantedBy=dev-disk-by\x5cx2duuid-f86539b0\x5cx2d3a1b\x5cx2d4372\x5cx2d83b0\x5cx2dacdd029ade68.device
| Conflicts=umount.target
| Before=umount.target local-fs.target
| After=dev-disk-by\x5cx2duuid-f86539b0\x5cx2d3a1b\x5cx2d4372\x5cx2d83b0\x5cx2dacdd029ade68.device system.slice local-fs-pre.target systemd-fsck at dev-disk-by\x5cx2duuid-f86539b0\x5cx2d3a1b\x5cx2d4372\x5cx2d83b0\x5cx2dacdd029ade68.service -.mount systemd-journald.socket
| RequiresMountsFor=/ /dev/disk/by-uuid/f86539b0-3a1b-4372-83b0-acdd029ade68
| LoadState=loaded
| ActiveState=inactive
| SubState=dead
| FragmentPath=/run/systemd/generator/home.mount
| SourcePath=/etc/fstab
| UnitFilePreset=enabled
| InactiveExitTimestamp=Mi 2015-02-04 07:22:39 CET
| InactiveExitTimestampMonotonic=5621717
| ActiveEnterTimestamp=Mi 2015-02-04 07:22:39 CET
| ActiveEnterTimestampMonotonic=5621717
| ActiveExitTimestamp=Mi 2015-02-04 07:22:40 CET
| ActiveExitTimestampMonotonic=7076908
| InactiveEnterTimestamp=Mi 2015-02-04 07:22:40 CET
| InactiveEnterTimestampMonotonic=7076908

I can't see anything relevant in dmesg or udev, but I captured all the
logs at http://people.canonical.com/~pitti/tmp/debug-fstab-unmount/
just in case.

Does anyone have some idea how to debug that further, or what happens?

Thanks in advance,

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/systemd-devel/attachments/20150211/7f7dd0e5/attachment.sig>


More information about the systemd-devel mailing list