Merge pull request #227208 from ElvishJerricco/zfs-systemd-target-ordering

zfs: Relate import services to zfs-import.target instead of local-fs
This commit is contained in:
Will Fancher 2023-07-23 16:58:25 -04:00 committed by GitHub
commit df59d8c0b7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -119,8 +119,8 @@ let
"systemd-modules-load.service"
"systemd-ask-password-console.service"
];
wantedBy = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
before = (getPoolMounts prefix pool) ++ [ "local-fs.target" ];
requiredBy = getPoolMounts prefix pool ++ [ "zfs-import.target" ];
before = getPoolMounts prefix pool ++ [ "zfs-import.target" ];
unitConfig = {
DefaultDependencies = "no";
};
@ -628,6 +628,8 @@ in
force = cfgZfs.forceImportRoot;
prefix = "/sysroot";
}) rootPools);
targets.zfs-import.wantedBy = [ "zfs.target" ];
targets.zfs.wantedBy = [ "initrd.target" ];
extraBin = {
# zpool and zfs are already in thanks to fsPackages
awk = "${pkgs.gawk}/bin/awk";
@ -739,15 +741,7 @@ in
map createSyncService allPools ++
map createZfsService [ "zfs-mount" "zfs-share" "zfs-zed" ]);
systemd.targets.zfs-import =
let
services = map (pool: "zfs-import-${pool}.service") dataPools;
in
{
requires = services;
after = services;
wantedBy = [ "zfs.target" ];
};
systemd.targets.zfs-import.wantedBy = [ "zfs.target" ];
systemd.targets.zfs.wantedBy = [ "multi-user.target" ];
})