[Pkg-zfsonlinux-devel] [EXT]Re: zfs-dkms and Intel QAT

Chandler admin at genome.arizona.edu
Mon Feb 27 20:22:32 GMT 2023


No, no, I spoke too soon again, of course.  I think I keep forgetting to
to try rebooting the machine and see if ZFS loads up correct, but it
doesn't.

I will start by adding:
Requires=qat.service
After=qat.service

to zfs-load-module.service.  Indeed this works and the module gets
loaded at the correct time, but the rest of the ZFS services get lost
for some reason.  For example, even though
/lib/systemd/system/zfs-import-scan.service has
"Requires=zfs-load-module.service" (twice for some reason), it still
fails to start:
● zfs-import-scan.service - Import ZFS pools by device scanning
     Loaded: loaded (/lib/systemd/system/zfs-import-scan.service;
enabled; vendor preset: disabled)
     Active: inactive (dead)
  Condition: start condition failed at Mon 2023-02-27 12:30:28 MST; 54s ago
             └─ ConditionPathIsDirectory=/sys/module/zfs was not met

Now if you check the timestamp and compare to the time
zfs-load-module.service started:
● zfs-load-module.service - Install ZFS kernel module
     Loaded: loaded (/etc/systemd/system/zfs-load-module.service;
enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2023-02-27 12:30:33 MST; 48s ago

It makes no sense to me why it is even trying to start 5 seconds before
the zfs modules are loaded when it Requires them.  So maybe that
duplicate "Requires" should be "After"... I'll try that and reboot again...

Ok the importing now starts after the module is loaded which starts
after the QAT service is started.  However, at the beginning of boot, it
has caused this:

[   17.004060] systemd[1]: local-fs.target: Found ordering cycle on
zfs-mount.service/start
[   17.012172] systemd[1]: local-fs.target: Found dependency on
zfs-import.target/start
[   17.019931] systemd[1]: local-fs.target: Found dependency on
zfs-import-scan.service/start
[   17.028191] systemd[1]: local-fs.target: Found dependency on
zfs-load-module.service/start
[   17.036449] systemd[1]: local-fs.target: Found dependency on
qat.service/start
[   17.043667] systemd[1]: local-fs.target: Found dependency on
basic.target/start
[   17.050975] systemd[1]: local-fs.target: Found dependency on
sockets.target/start
[   17.058460] systemd[1]: local-fs.target: Found dependency on
dbus.socket/start
[   17.065683] systemd[1]: local-fs.target: Found dependency on
sysinit.target/start
[   17.073164] systemd[1]: local-fs.target: Found dependency on
systemd-tmpfiles-setup.service/start
[   17.082029] systemd[1]: local-fs.target: Found dependency on
local-fs.target/start
[   17.089597] systemd[1]: local-fs.target: Job zfs-mount.service/start
deleted to break ordering cycle starting with local-fs.target/start
[ SKIP ] Ordering cycle found, skipping Mount ZFS filesystems

So now I will edit zfs-mount.service removing "Before=local-fs.target"
and see what that does... yes that helped, we're almost there, the ZFS
is finally auto mounted with QAT support, but ZED is still failing to start:
● zfs-zed.service - ZFS Event Daemon (zed)
     Loaded: loaded (/lib/systemd/system/zfs-zed.service; enabled;
vendor preset: enabled)
     Active: inactive (dead)
  Condition: start condition failed at Mon 2023-02-27 13:05:45 MST; 1min
4s ago
             └─ ConditionPathIsDirectory=/sys/module/zfs was not met

I'll add "Requires=zfs-load-module.service" and
"After=zfs-load-module.service" to this service, and I'll put it above
"ConditionPathIsDirectory=/sys/module/zfs" just in case since that makes
sense, I don't know the intricacies of systemd.service files though, no
time either...

and there we go!  All ZFS targets and services green again.

Best,
Chandler



More information about the Pkg-zfsonlinux-devel mailing list