nixos/kvmgt: fix starting condition (#62096)

nixos/kvmgt: fix starting condition
This commit is contained in:
Jörg Thalheim 2019-06-17 16:32:54 +01:00 committed by GitHub
commit 55e2c850a3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -46,22 +46,24 @@ in {
message = "KVMGT is not properly supported for kernels older than 4.16";
};
boot.kernelParams = [ "i915.enable_gvt=1" ];
systemd.paths = mapAttrs' (name: value:
nameValuePair "kvmgt-${name}" {
description = "KVMGT VGPU ${name} path";
wantedBy = [ "multi-user.target" ];
pathConfig = {
PathExists = "/sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create";
};
}
) cfg.vgpus;
systemd.services = mapAttrs' (name: value:
nameValuePair "kvmgt-${name}" {
description = "KVMGT VGPU ${name}";
serviceConfig = {
Type = "forking";
Type = "oneshot";
RemainAfterExit = true;
Restart = "on-failure";
RestartSec = 5;
ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'";
ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'";
};
unitConfig = {
StartLimitBurst = 5;
StartLimitIntervalSec = 30;
};
wantedBy = [ "multi-user.target" ];
}
) cfg.vgpus;
};