The pools are imported by either zfs-import-scan.service or zfs-import-cache.service. (Which service runs depends on whether /etc/zfs/zpool.cache exists.) They both call `zpool import -a` plus some other arguments. In other words, `zpool import -a` is being run unconditionally, whether pools exist or not.
It would be possible to throw a wrapper script around `zpool import` and run that from those services instead. It could then start zed.service if and only if a pool exists. I'm not sure if this is the best solution, but at first glance, it seems like it would work.
The pools are imported by either zfs-import- scan.service or zfs-import- cache.service. (Which service runs depends on whether /etc/zfs/ zpool.cache exists.) They both call `zpool import -a` plus some other arguments. In other words, `zpool import -a` is being run unconditionally, whether pools exist or not.
It would be possible to throw a wrapper script around `zpool import` and run that from those services instead. It could then start zed.service if and only if a pool exists. I'm not sure if this is the best solution, but at first glance, it seems like it would work.