From 7841bef17e69e93f67162c8a96754c55b729298b Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 7 Mar 2002 11:34:27 +0000 Subject: (zips__faking_ide_scsi): fix returned value in standalone (getSCSI): don't call isFloppyOrHD for ZIPs (lowers the number of kernel error when there is no floppy) --- perl-install/detect_devices.pm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'perl-install') diff --git a/perl-install/detect_devices.pm b/perl-install/detect_devices.pm index 7da250d1e..08d864b54 100644 --- a/perl-install/detect_devices.pm +++ b/perl-install/detect_devices.pm @@ -59,8 +59,7 @@ sub cdroms__faking_ide_scsi { } sub zips__faking_ide_scsi { my @l = raw_zips(); - return @l if $::isStandalone; - if (my @l_ide = grep { $_->{interface_type} eq 'ide' } @l) { + if (my @l_ide = grep { $_->{interface_type} eq 'ide' && $::isInstall } @l) { require modules; modules::add_alias('scsi_hostadapter', 'ide-scsi'); my $nb = 1 + max(-1, map { if_($_->{device} =~ /sd(\w+)/, ord($1) - ord('a')) } getSCSI()); @@ -160,18 +159,18 @@ sub getSCSI() { my ($id) = /^Host:.*?Id: (\d+)/ or return &$err(); $_ = ; my ($vendor, $model) = /^\s*Vendor:\s*(.*?)\s+Model:\s*(.*?)\s+Rev:/ or return &$err(); $_ = ; my ($type) = /^\s*Type:\s*(.*)/ or &$err(); - my $device; + my $dev = { info => "$vendor $model", id => $id, bus => 0 }; if ($type =~ /Direct-Access/) { - $device = "sd" . chr($driveNum++ + ord('a')); - $type = isFloppyOrHD($device); + $dev->{device} = "sd" . chr($driveNum++ + ord('a')); + $dev->{media_type} = isZipDrive($dev) ? 'hd' : isFloppyOrHD($dev->{device}); } elsif ($type =~ /Sequential-Access/) { - $device = "st" . $tapeNum++; - $type = 'tape'; + $dev->{device} = "st" . $tapeNum++; + $dev->{media_type} = 'tape'; } elsif ($type =~ /(CD-ROM|WORM)/) { - $device = "scd" . $cdromNum++; - $type = 'cdrom'; + $dev->{device} = "scd" . $cdromNum++; + $dev->{media_type} = 'cdrom'; } - $device and push @drives, { device => $device, media_type => $type, info => "$vendor $model", id => $id, bus => 0 }; + push @drives, $dev if $dev->{device}; } get_sys_cdrom_info(@drives); @drives; -- cgit v1.2.1