summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--perl-install/NEWS5
-rw-r--r--perl-install/fs/partitioning_wizard.pm2
-rw-r--r--perl-install/install/NEWS3
-rw-r--r--perl-install/partition_table/gpt.pm1
-rw-r--r--perl-install/partition_table/raw.pm6
5 files changed, 16 insertions, 1 deletions
diff --git a/perl-install/NEWS b/perl-install/NEWS
index 447c598a7..90cb7e55b 100644
--- a/perl-install/NEWS
+++ b/perl-install/NEWS
@@ -1,3 +1,8 @@
+- partitioning wizard lirary:
+ o allow "Use free space" if there is an extended
+ partition even if all primary partitions are used (#38804)
+ (*old* bug!)
+
Version 10.20 - 25 March 2008
- do not run main_quit if not in a main loop (eg: while loading GUI)
diff --git a/perl-install/fs/partitioning_wizard.pm b/perl-install/fs/partitioning_wizard.pm
index 980e2efd5..1ccca8ff5 100644
--- a/perl-install/fs/partitioning_wizard.pm
+++ b/perl-install/fs/partitioning_wizard.pm
@@ -79,7 +79,7 @@ sub partitionWizardSolutions {
# each solution is a [ score, text, function ], where the function retunrs true if succeeded
my @hds_rw = grep { !$_->{readonly} } @$hds;
- my @hds_can_add = grep { $_->can_raw_add } @hds_rw;
+ my @hds_can_add = grep { $_->can_add } @hds_rw;
if (fs::get::hds_free_space(@hds_can_add) > $min_linux) {
$solutions{free_space} = [ 30, N("Use free space"), sub { fsedit::auto_allocate($all_hds, $partitions); 1 } ];
} else {
diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS
index f2c58931b..104a171f1 100644
--- a/perl-install/install/NEWS
+++ b/perl-install/install/NEWS
@@ -1,3 +1,6 @@
+- partitioning wizard: allow "Use free space" if there is an extended
+ partition even if all primary partitions are used (#38804)
+ (*old* bug!)
- fix errors while setting PA preferences (#39270)
- use umask=0 by default on vfat (#39315)
- root/user password:
diff --git a/perl-install/partition_table/gpt.pm b/perl-install/partition_table/gpt.pm
index 81967d07e..5c46e25ca 100644
--- a/perl-install/partition_table/gpt.pm
+++ b/perl-install/partition_table/gpt.pm
@@ -213,6 +213,7 @@ sub raw_removed {
my ($_hd, $raw) = @_;
@$raw = grep { $_->{size} && $_->{pt_type} } @$raw;
}
+sub can_add { &can_raw_add }
sub can_raw_add {
my ($hd) = @_;
@{$hd->{primary}{raw}} < $hd->{primary}{info}{nbPartitions};
diff --git a/perl-install/partition_table/raw.pm b/perl-install/partition_table/raw.pm
index 6edc26507..44b4b6e01 100644
--- a/perl-install/partition_table/raw.pm
+++ b/perl-install/partition_table/raw.pm
@@ -192,6 +192,12 @@ sub openit {
my $F; sysopen($F, $hd->{file}, $o_mode || 0) && $F;
}
+sub can_add {
+ my ($hd) = @_;
+ !$_->{size} && !$_->{pt_type} || isExtended($_) and return 1 foreach @{$hd->{primary}{raw}};
+ 0;
+}
+
sub raw_removed {
my ($_hd, $_raw) = @_;
}