mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 19:55:41 +03:00
nixos/swraid: make entire module optional
swraid support will now only be enabled by default if stateVersion is older than 23.11. nixos-generate-config will now generate explicit config for enabling support if needed.
This commit is contained in:
parent
408c0e8c15
commit
0b277bcc2b
5 changed files with 23 additions and 10 deletions
|
@ -381,6 +381,7 @@ sub in {
|
|||
|
||||
my $fileSystems;
|
||||
my %fsByDev;
|
||||
my $useSwraid = 0;
|
||||
foreach my $fs (read_file("/proc/self/mountinfo")) {
|
||||
chomp $fs;
|
||||
my @fields = split / /, $fs;
|
||||
|
@ -510,8 +511,8 @@ EOF
|
|||
# boot.initrd.luks.devices entry.
|
||||
if (-e $device) {
|
||||
my $deviceName = basename(abs_path($device));
|
||||
if (-e "/sys/class/block/$deviceName"
|
||||
&& read_file("/sys/class/block/$deviceName/dm/uuid", err_mode => 'quiet') =~ /^CRYPT-LUKS/)
|
||||
my $dmUuid = read_file("/sys/class/block/$deviceName/dm/uuid", err_mode => 'quiet');
|
||||
if ($dmUuid =~ /^CRYPT-LUKS/)
|
||||
{
|
||||
my @slaves = glob("/sys/class/block/$deviceName/slaves/*");
|
||||
if (scalar @slaves == 1) {
|
||||
|
@ -527,8 +528,14 @@ EOF
|
|||
}
|
||||
}
|
||||
}
|
||||
if (-e "/sys/class/block/$deviceName/md/uuid") {
|
||||
$useSwraid = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($useSwraid) {
|
||||
push @attrs, "boot.initrd.services.swraid.enable = true;\n\n";
|
||||
}
|
||||
|
||||
|
||||
# Generate the hardware configuration file.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue