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