From b431f4af3648a41237d875602bc52cf96de1f9a7 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Thu, 4 Feb 2010 11:08:58 +0000 Subject: support ddf1 raid --- perl-install/NEWS | 3 +++ perl-install/fs/dmraid.pm | 16 ++++++++++++++++ perl-install/install/NEWS | 1 + 3 files changed, 20 insertions(+) diff --git a/perl-install/NEWS b/perl-install/NEWS index 4b9938dd0..5c54ce5ed 100644 --- a/perl-install/NEWS +++ b/perl-install/NEWS @@ -1,3 +1,6 @@ +- diskdrake: + o support ddf1 raid + Version 12.77.4 - 19 January 2010 - display_help: diff --git a/perl-install/fs/dmraid.pm b/perl-install/fs/dmraid.pm index fa06e05e9..68dd98a16 100644 --- a/perl-install/fs/dmraid.pm +++ b/perl-install/fs/dmraid.pm @@ -40,10 +40,26 @@ sub check { } sub _raid_devices_raw() { + # get the real vg names, needed for ddf1, and safer than begins_with for raid10 + log::l("_raid_devices_raw"); + my %vgs; + my %pv2vg = map { + log::l("got: $_"); + my %l; @l{qw(name size stride level status subsets devs spares)} = split(':'); + $vgs{$l{name}} = 1 if defined $l{spares}; + if(/freeing device "(.*)", path "(.*)"/ && defined $vgs{$1}) { + log::l("$2 => $1"); + { $2 => $1 }; + } + } call_dmraid('-d', '-s', '-c', '-c'); map { chomp; log::l("got: $_"); my %l; @l{qw(pv format vg level status size)} = split(':'); + if(defined $l{size} && defined $l{vg} && defined $pv2vg{$l{pv}} && !defined $vgs{$l{vg}}) { + log::l("using $pv2vg{$l{pv}} instead of $l{vg}"); + $l{vg} = $pv2vg{$l{pv}}; + } if_(defined $l{size}, \%l); } call_dmraid('-r', '-c', '-c'); } diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 7ecf48e9a..bf878158f 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -4,6 +4,7 @@ o install 'ibus-qt4' if configuring ibus under KDE4 (#56311) - detect_devices: o fix detecting pcmcia serial devices +- support ddf1 raid Version 12.77 - 30 October 2009 -- cgit v1.2.1