From b419083ebecca691bdd92cc9c035e96affd62a72 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 18 Feb 2004 16:25:24 +0000 Subject: type 0x17 *can* be ntfs, assuming it is when we don't care much, and check if it is ntfs otherwise --- perl-install/fsedit.pm | 5 +++-- perl-install/partition_table.pm | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'perl-install') diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm index 58143023a..a41a73a97 100644 --- a/perl-install/fsedit.pm +++ b/perl-install/fsedit.pm @@ -224,9 +224,10 @@ sub hds { $_->{type} = typeOfPart($_->{device}) || 0x100 foreach grep { $_->{type} == 0x100 } partition_table::get_normal_parts($hd); #- special case for type overloading (eg: reiserfs is 0x183) - foreach (grep { isExt2($_) || $_->{type} == 0x7 } partition_table::get_normal_parts($hd)) { + foreach (grep { isExt2($_) || $_->{type} == 0x7 || $_->{type} == 0x17 } partition_table::get_normal_parts($hd)) { + my $wanted_type = $_->{type} == 0x17 ? 0x7 : $_->{type}; my $type = typeOfPart($_->{device}); - $_->{type} = $type if ($type & 0xff) == $_->{type} || $type && $hd->isa('partition_table::gpt'); + $_->{type} = $type if ($type & 0xff) == $wanted_type || $type && $hd->isa('partition_table::gpt'); } push @hds, $hd; } diff --git a/perl-install/partition_table.pm b/perl-install/partition_table.pm index 6d7e519ae..0a01cfdea 100644 --- a/perl-install/partition_table.pm +++ b/perl-install/partition_table.pm @@ -398,11 +398,11 @@ sub assign_device_numbers { #- isFat_or_NTFS isn't true for 0x7 partitions, only for 0x107. #- alas 0x107 is not set correctly at this stage #- solution: don't bother with 0x7 vs 0x107 here - my ($c, @others) = grep { isFat_or_NTFS($_) || $_->{type} == 0x7 } @{$hd->{primary}{normal}}; + my ($c, @others) = grep { isFat_or_NTFS($_) || $_->{type} == 0x7 || $_->{type} == 0x17 } @{$hd->{primary}{normal}}; $i = ord 'C'; $c->{device_windobe} = chr($i++) if $c; - $_->{device_windobe} = chr($i++) foreach grep { isFat_or_NTFS($_) || $_->{type} == 0x7 } map { $_->{normal} } @{$hd->{extended}}; + $_->{device_windobe} = chr($i++) foreach grep { isFat_or_NTFS($_) || $_->{type} == 0x7 || $_->{type} == 0x17 } map { $_->{normal} } @{$hd->{extended}}; $_->{device_windobe} = chr($i++) foreach @others; } -- cgit v1.2.1