summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLassulus <github@lassul.us>2021-09-08 18:19:41 +0200
committerGitHub <noreply@github.com>2021-09-08 18:19:41 +0200
commit7cd6b6dfc8e74bc13d242fefb8bcdf2538d6700d (patch)
tree891c3b649181563b0222b99e8459b4259ad0bfe0
parent5f4004ea9413a9b1322443678240549dd5c243fd (diff)
parentf358f7326b811d1ad0694187b4ece53f8e56576e (diff)
Merge pull request #132786 from helsinki-systems/feat/initrd-dm-cache
tasks/lvm: add all tools from thin-provisioning-tools
-rw-r--r--nixos/modules/tasks/lvm.nix26
1 files changed, 18 insertions, 8 deletions
diff --git a/nixos/modules/tasks/lvm.nix b/nixos/modules/tasks/lvm.nix
index 98a0e2ddef90..aaa76b49fa30 100644
--- a/nixos/modules/tasks/lvm.nix
+++ b/nixos/modules/tasks/lvm.nix
@@ -46,22 +46,32 @@ in {
kernelModules = [ "dm-snapshot" "dm-thin-pool" ];
extraUtilsCommands = ''
- copy_bin_and_libs ${pkgs.thin-provisioning-tools}/bin/pdata_tools
- copy_bin_and_libs ${pkgs.thin-provisioning-tools}/bin/thin_check
+ for BIN in ${pkgs.thin-provisioning-tools}/bin/*; do
+ copy_bin_and_libs $BIN
+ done
+ '';
+
+ extraUtilsCommandsTest = ''
+ ls ${pkgs.thin-provisioning-tools}/bin/ | grep -v pdata_tools | while read BIN; do
+ $out/bin/$(basename $BIN) --help > /dev/null
+ done
'';
};
- environment.etc."lvm/lvm.conf".text = ''
- global/thin_check_executable = "${pkgs.thin-provisioning-tools}/bin/thin_check"
- '';
+ environment.etc."lvm/lvm.conf".text = concatMapStringsSep "\n"
+ (bin: "global/${bin}_executable = ${pkgs.thin-provisioning-tools}/bin/${bin}")
+ [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ];
})
(mkIf (cfg.dmeventd.enable || cfg.boot.thin.enable) {
boot.initrd.preLVMCommands = ''
mkdir -p /etc/lvm
cat << EOF >> /etc/lvm/lvm.conf
- ${optionalString cfg.boot.thin.enable ''
- global/thin_check_executable = "$(command -v thin_check)"
- ''}
+ ${optionalString cfg.boot.thin.enable (
+ concatMapStringsSep "\n"
+ (bin: "global/${bin}_executable = $(command -v ${bin})")
+ [ "thin_check" "thin_dump" "thin_repair" "cache_check" "cache_dump" "cache_repair" ]
+ )
+ }
${optionalString cfg.dmeventd.enable ''
dmeventd/executable = "$(command -v false)"
activation/monitoring = 0