zfs-load-module.service seems to have a Requires on itself? That has to be wrong.
Also, zfs-import-cache.service and zfs-import-scan.service need an After =zfs-load-module.service. They're not getting one automatically because of DefaultDependencies=no (which seems appropriate here, so leave that alone). Scott, can you try this? I think it will fix your issue, since zfs-mount.service already has After=zfs-load-cache.service and After =zfs-load-scan.service. The proposed package, with the changes above should fix the issue I'm reporting. However, LP #1672749 says, "Since zfsutils-linux/0.6.5.9-4, zfs module is not automatically loaded on systems that no zpool exists, this avoids tainting everyone's kernel who has the package installed but is not using zfs." Is this still an important goal? If so, wasn't that lost with ubuntu-load-zfs-unconditionally.patch? Or perhaps something is keeping zfs-import-scan.service from being enabled by default? -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to zfs-linux in Ubuntu. https://bugs.launchpad.net/bugs/1741081 Title: zfs-import-cache.service fails on startup Status in zfs-linux package in Ubuntu: Fix Released Status in zfs-linux source package in Artful: In Progress Status in zfs-linux source package in Bionic: Fix Released Bug description: == SRU Request, Artful == Enable ZFS module to be loaded without the broken ubuntu-load-zfs- unconditionally.patch. == Fix == Add a new zfs-load-module.service script that modprobes the ZFS module and remove any hard coded module loading from zfs-import-cache.service & zfs-import-scan.service and make these latter scripts require the new zfs-load-module.service script. Also remove the now defunct ubuntu-load-zfs-unconditionally.patch as this will no longer be required. == Testcase == On a clean VM, install with the fixed package, zfs should load automatically. == Regression potential == ZFS module may not load if the changes are broken. However, testing proves this not to be the case. -------------------- I just noticed on my test VM of artful that zfs-import-cache.service does not have a ConditionPathExists=/etc/zfs/zpool.cache. Because of that, it fails on startup, since the cache file does not exist. This line is being deleted by debian/patches/ubuntu-load-zfs-unconditionally.patch. This patch seems to exist per: https://bugs.launchpad.net/ubuntu/+source/lxd/+bug/1672749 This patch still exists in bionic, so I assume it will be similarly broken. If the goal of the patch is to load the module (and only that), I think it should create a third unit instead: zfs-load-module.service ^^ runs modprobe zfs zfs-import-cache.service & zfs-import-scan.service ^^ per upstream minus modprobe plus Requires=zfs-load-module.service I have tested this manually and it works. I can submit a package patch if this is the desired solution. Interestingly, before this change, zfs-import-scan.service wasn't starting. If started manually, it worked. I had to give it a `systemctl enable zfs-import-scan.service` to create the Wants symlinks. Looking at the zfsutils-linux.postinst, I see the correct boilerplate from dh_systemd, so I'm not sure why this wasn't already done. Can anyone confirm or deny whether zfs-import-scan.service is enabled out-of-the-box on their system? Is the zfs-import-scan.service not starting actually the cause of the original bug? The design is that *either* zfs-import-cache.service or zfs-import-scan.service starts. They both call modprobe zfs. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/zfs-linux/+bug/1741081/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp