Systemd-udev-settle.service is deprecated

I just realized that since July I am getting this message in my logs on every boot:

udevadm[395]: systemd-udev-settle.service is deprecated.

And since 7. August it is more specific:

udevadm[398]: systemd-udev-settle.service is deprecated. Please fix zfs-import-cache.service not to pull it in.

zfs-import-cache.service looks like this:

[Unit]
Description=Import ZFS pools by cache file
Documentation=man:zpool(8)
DefaultDependencies=no
Requires=systemd-udev-settle.service
After=systemd-udev-settle.service
After=cryptsetup.target
After=multipathd.target
After=systemd-remount-fs.service
Before=zfs-import.target
ConditionPathExists=/etc/zfs/zpool.cache

[Service]
Type=oneshot
RemainAfterExit=yes
ExecCondition=/usr/bin/grep -q "^zfs " /proc/modules
ExecStart=/usr/bin/zpool import -c /etc/zfs/zpool.cache -aN

[Install]
WantedBy=zfs-import.target

If I simply remove the lines with systemd-udev-settle.service the zfs pools will not load.

So what is this about? How to fix it?

Use btrfs instead, in kernel… :wink:

I have extensively tested btrfs on two of my nvme device over the last couple of weeks. I am back at zfs. I will eventually open a separate thread about my conclusions. Only so much for now: btrfs is not for me.

My guess is that this is a dev message.
As systemd-udev-settle.service is still provided by systemd package.

So it seems the zfs folks need to fix it…

Yes, I agree.

I have opened an issue for them: systemd-udev-settle.service is deprecated. Please fix zfs-import-cache.service not to pull it in. · Issue #10891 · openzfs/zfs · GitHub

1 Like

when I run systemctl mask systemd-udev-settle.service boots correctly