diff options
author | наб <[email protected]> | 2021-02-05 20:25:22 +0100 |
---|---|---|
committer | GitHub <[email protected]> | 2021-02-05 11:25:22 -0800 |
commit | 7c64ee9e7731b7ad39e300b4a422892dbe8d4b23 (patch) | |
tree | c1150302fb2fae073bc5db153ba63555b240b464 | |
parent | 32366649d3164e994def7e5a26765ca6bc1e2315 (diff) |
zfs-import-{cache,scan}: change condition to FileNotEmpty
When all pools are exported ZFS will generate an empty cache file.
This will cause the import service to fail, which is sub-optimal,
since this means that dracut fails, and it necessary to run
`zpool import -a` to boot, delete the file, and regenerate+reinstall
the initrd.
This resolves the issue by treating an zero-length cache files the
same as a missing cache file. This aligns the behavior with that
of the `zpool` command itself.
Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Richard Laager <[email protected]>
Signed-off-by: Ahelenia Ziemiańska <[email protected]>
Closes #11568
-rw-r--r-- | etc/systemd/system/zfs-import-cache.service.in | 2 | ||||
-rw-r--r-- | etc/systemd/system/zfs-import-scan.service.in | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/etc/systemd/system/zfs-import-cache.service.in b/etc/systemd/system/zfs-import-cache.service.in index 47c5b07f8..0d236fe9e 100644 --- a/etc/systemd/system/zfs-import-cache.service.in +++ b/etc/systemd/system/zfs-import-cache.service.in @@ -8,7 +8,7 @@ After=cryptsetup.target After=multipathd.target After=systemd-remount-fs.service Before=zfs-import.target -ConditionPathExists=@sysconfdir@/zfs/zpool.cache +ConditionFileNotEmpty=@sysconfdir@/zfs/zpool.cache ConditionPathIsDirectory=/sys/module/zfs [Service] diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in index 6520f3246..f0317e23e 100644 --- a/etc/systemd/system/zfs-import-scan.service.in +++ b/etc/systemd/system/zfs-import-scan.service.in @@ -7,7 +7,7 @@ After=systemd-udev-settle.service After=cryptsetup.target After=multipathd.target Before=zfs-import.target -ConditionPathExists=!@sysconfdir@/zfs/zpool.cache +ConditionFileNotEmpty=!@sysconfdir@/zfs/zpool.cache ConditionPathIsDirectory=/sys/module/zfs [Service] |