diff --git a/mxraid/mxraid_assemble b/mxraid/mxraid_assemble index 66d4b95..03b5f40 100755 --- a/mxraid/mxraid_assemble +++ b/mxraid/mxraid_assemble @@ -87,7 +87,7 @@ my $MDADM_CONF_BASE = '/dev/shm/mdadm.conf'; # config for mdadm, created with in my $MDADM_ASSEMBLE_OPTIONS = ''; -my $cd = MxRaid::ConfData->new($MDADMCONF_DB); $cd->verbose($VERBOSE); +my $cd = MxRaid::ConfData->new($MDADMCONF_DB); $cd->verbose($VERBOSE); $cd->load(); my $hd = MxRaid::HostData->new($cd); $hd->verbose($VERBOSE); my $utils = MxRaid::Utils->new(); @@ -151,7 +151,7 @@ if ($opts{n}) { } # warn "# NOTE: got $cnt disk(s), default is 16.\n" if $cnt != 16; - # warn "# NOTE: label '$opts{n}' doesn't look good.\n" unless $opts{n} =~ m/^[DM][\da-f]\d{3}$/; + # warn "# NOTE: label '$opts{n}' doesn't look good.\n" unless $opts{n} =~ m/^[CDM][\da-f]\d{3}$/; if ($cnt != 16) { my $msg = "got $cnt disk(s), default is 16."; $msg = $color->t_red($msg) unless $opts{m}; @@ -159,7 +159,7 @@ if ($opts{n}) { } - if ($opts{n} !~ m/^[DM][\da-f]\d{3}$/) { + if ($opts{n} !~ m/^[CDM][\da-f]\d{3}$/) { my $msg = "label '$opts{n}' doesn't look good."; $msg = $color->t_red($msg) unless $opts{m}; print "# NOTE: $msg\n"; @@ -365,7 +365,6 @@ exit; $self->{verbose} = 0; $self->{db} = {}; $self->{lookup} = undef; - $self->load(); return $self; } @@ -387,7 +386,7 @@ exit; @rec = split m/\s+/, $_; - if ($rec[0] !~ m/[DM][\da-f]\d{3}:/) { + if ($rec[0] !~ m/[CDM][\da-f]\d{3}:/) { warn "# NOTE: raid name not in expected format (bad key '$rec[0]' at line $lines).\n" if $self->{verbose} >= 1; next; } @@ -455,8 +454,9 @@ exit; my $self = shift; my %tmp; for (keys %{$self->{db}}) { - my ($cat,$size,$num) = $_ =~ m/([DM])([\da-f])(\d{3})/; - next unless defined $cat and defined $num; + my ($cat,$size,$num) = $_ =~ m/([CDM])([\da-f])(\d{3})/; + next unless defined $num; + $cat = '(C/M)' if $cat ne 'D'; if (exists $tmp{"$cat$size"} and $tmp{"$cat$size"} > $num) { $num = $tmp{"$cat$size"}; }