[Pkg-zfsonlinux-devel] Bug#1041857: Warnings about systemd-udev-settle.service is deprecated on debian 12 ZFS, plus zfs-import-scan.service missing After=zfs-load-module.service
Laurent GUERBY
laurent at guerby.net
Mon Jul 24 14:57:18 BST 2023
Package: zfsutils-linux
Version: 2.1.11-1
Severity: important
Hi,
On a brand new debian 12 VM with ZFS while looking at boot logs I
found:
Jul 21 22:21:24 testhost udevadm[355]: systemd-udev-settle.service is
deprecated. Please fix zfs-import-cache.service, zfs-load-
module.service not to pull it in.
Looking at the ZFS service files:
/lib/systemd/system# grep systemd-udev-settle zfs*|grep Requires=
zfs-import-cache.service:Requires=systemd-udev-settle.service
zfs-import-scan.service:Requires=systemd-udev-settle.service
zfs-load-module.service:Requires=systemd-udev-settle.service
I removed above the Requires= lines: my ZFS still worked after reboot
and no warnings about deprecated. I left the After= lines they seem
harmless and could be useful is one is still relying on systemd-udev-
settle in some way.
I then tested a switch from zfs-import-cache (which the documentation
in /etc/default/zfs says is not recommanded on Linux) to zfs-import-
scan:
systemctl disable zfs-import-cache
systemctl enable zfs-import-cache
systemctl daemon-reload
reboot
There was an error at boot about /sys/module/zfs not being there,
looking at dependancies I noticed:
/lib/systemd/system# grep zfs-load zfs*
zfs-import-cache.service:Requires=zfs-load-module.service
zfs-import-cache.service:After=zfs-load-module.service
zfs-import-scan.service:Requires=zfs-load-module.service
zfs-import-scan.service:Requires=zfs-load-module.service
zfs-import-scan is missing an After=zfs-load-module.service and has two
times Requires=zfs-load-module.service so probably a copy/paste thinko.
I changed the second Requires= to After=
Next error was due to:
ConditionFileNotEmpty=!/etc/zfs/zpool.cache
I removed this "ConditionFileNotEmpty=!" line entirely since the
zpool.cache file is ignored by zfs-import-scan (that's the whole
purpose of this unit) and I couldn't find documentation about "=!" in
systemd unit files.
With both edits I was able to successfully reboot and have all my ZFS
pools ready using zfs-import-scan.
Note: in my setup (VM running debian 12 with multiple disks and ZFS
pools) zfs-import-cache sometimes fails to import all the pools at boot
while zfs-import-scan always succeed.
Thanks in advance for your help,
Sincerely,
Laurent GUERBY
More information about the Pkg-zfsonlinux-devel
mailing list