Hmm, issue still happens, and I'm now suspicious of the dependencies in
systemd.


$ systemctl list-dependencies boot.mount
boot.mount
● ├─-.mount
● ├─system.slice
● └─zfs-import.target
●   └─zfs-import-cache.service


I see "boot.mount" depends on "zfs-import-cache.service", however the 
timestamps show otherwise


$ journalctl -f -u boot.mount
-- Logs begin at Sat 2020-11-14 20:41:30 EST. --
Nov 19 22:20:45 test systemd[1]: Mounting /boot...
Nov 19 22:20:45 test systemd[1]: Mounted /boot.
-- Reboot --
Nov 19 22:21:34 test systemd[1]: Mounting /boot...
Nov 19 22:21:35 test systemd[1]: Mounted /boot.
-- Reboot --
Nov 20 16:19:07 test mount[1265]: filesystem 'bpool/BOOT/ubuntu_o9gk00' cannot 
be mounted, unable to open the dataset
Nov 20 16:19:07 test systemd[1]: boot.mount: Mount process exited, code=exited, 
status=1/FAILURE
Nov 20 16:19:07 test systemd[1]: boot.mount: Failed with result 'exit-code'.
Nov 20 16:19:07 test systemd[1]: Failed to mount /boot.
Nov 20 16:19:52 test systemd[1]: Mounting /boot...
Nov 20 16:19:52 test systemd[1]: Mounted /boot.

$ systemctl status zfs-import-cache.service 
● zfs-import-cache.service - Import ZFS pools by cache file
     Loaded: loaded (/lib/systemd/system/zfs-import-cache.service; enabled; 
vendor preset: enabled)
     Active: active (exited) since Fri 2020-11-20 16:19:08 EST; 16min ago
       Docs: man:zpool(8)
   Main PID: 2084 (code=exited, status=0/SUCCESS)
      Tasks: 0 (limit: 18936)
     Memory: 0B
     CGroup: /system.slice/zfs-import-cache.service

Nov 20 16:19:08 test systemd[1]: Starting Import ZFS pools by cache file...
Nov 20 16:19:08 test systemd[1]: Finished Import ZFS pools by cache file.


So mount ran at 16:19:07 (and failed) yet zfs-import-cache didn't complete 
until 16:19:08. That's rather odd...


$ journalctl -f -u zfs-import-cache.service 
-- Logs begin at Sat 2020-11-14 20:41:30 EST. --
Nov 19 22:21:34 test systemd[1]: Finished Import ZFS pools by cache file.
-- Reboot --
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found ordering cycle on 
zfs-import.target/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found dependency on 
zfs-import-cache.service/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found dependency on 
cryptsetup.target/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found dependency on 
[email protected]/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found dependency on 
systemd-random-seed.service/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Found dependency on 
var-lib.mount/start
Nov 20 16:19:07 test systemd[1]: var-lib.mount: Job zfs-import.target/start 
deleted to break ordering cycle starting with var-lib.mount/start
Nov 20 16:19:08 test systemd[1]: Starting Import ZFS pools by cache file...
Nov 20 16:19:08 test systemd[1]: Finished Import ZFS pools by cache file.


Now I see zfs-import-cache was "deleted" by systemd at 16:19:07 to break an 
ordering cycle, which I think explains the above - but this seems wrong?

If I then look at the prior zfs-import-cache log, I can see
[email protected] was "deleted", thus enabling /boot to
mount correctly:


Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found ordering cycle on 
[email protected]/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
systemd-random-seed.service/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
var-lib.mount/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
zfs-load-key-rpool.service/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
zfs-import.target/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
zfs-import-cache.service/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
zfs-load-module.service/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Found dependency on 
cryptsetup.target/start
Nov 19 22:21:34 test systemd[1]: cryptsetup.target: Job 
[email protected]/start deleted to break ordering cycle 
starting with cryptsetup.target/start
Nov 19 22:21:34 test systemd[1]: Starting Import ZFS pools by cache file...
Nov 19 22:21:34 test systemd[1]: Finished Import ZFS pools by cache file.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1904764

Title:
  failed boot mount, and systemd ordering cycle on zfs-import.target

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1904764/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to