From 27379879c56c139b61dd3312001b7aab4e8388de Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Wed, 8 Aug 2007 10:11:26 +0000 Subject: - allow using diskdrake even if there is only a lvm PV on full disk available --- perl-install/fs/partitioning_wizard.pm | 2 +- perl-install/fsedit.pm | 6 ++---- perl-install/install/NEWS | 1 + perl-install/partition_table/lvm.pm | 25 +++++++++++++++++++++++++ 4 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 perl-install/partition_table/lvm.pm diff --git a/perl-install/fs/partitioning_wizard.pm b/perl-install/fs/partitioning_wizard.pm index 4aff222c7..8e1404494 100644 --- a/perl-install/fs/partitioning_wizard.pm +++ b/perl-install/fs/partitioning_wizard.pm @@ -217,7 +217,7 @@ filesystem checks will be run on your next boot into Microsoft Windows®")) if $ } ]; } - if (@hds_rw) { + if (@hds_rw || find { $_->isa('partition_table::lvm') } @$hds) { $solutions{diskdrake} = [ 0, N("Custom disk partitioning"), sub { partition_with_diskdrake($in, $all_hds, $all_fstab, $manual_fstab, $partitions, $partitioning_flags, $skip_mtab); } ]; diff --git a/perl-install/fsedit.pm b/perl-install/fsedit.pm index 91aee2f0d..64e57c345 100644 --- a/perl-install/fsedit.pm +++ b/perl-install/fsedit.pm @@ -180,10 +180,8 @@ sub get_hds { 1; } elsif ($type->{pt_type} == 0x8e) { #- LVM on full disk - my $part = { size => $hd->{totalsectors}, device => $hd->{device}, %$type }; - bless $hd, 'partition_table::raw'; - $hd->{readonly} = $hd->{getting_rid_of_readonly_allowed} = 1; - $hd->{primary}{normal} = [ $part ]; + require partition_table::lvm; + partition_table::lvm::initialize($hd); 1; } else { 0; diff --git a/perl-install/install/NEWS b/perl-install/install/NEWS index 9cef1af5d..6161872f3 100644 --- a/perl-install/install/NEWS +++ b/perl-install/install/NEWS @@ -1,3 +1,4 @@ +- allow using diskdrake even if there is only a lvm PV on full disk available - fix range max value >2TB when creating a partition (useful for LVs >2TB) - kill security level step (only reachable from summary now) - restore progress bar when formatting ext3 diff --git a/perl-install/partition_table/lvm.pm b/perl-install/partition_table/lvm.pm new file mode 100644 index 000000000..91a9dfbc5 --- /dev/null +++ b/perl-install/partition_table/lvm.pm @@ -0,0 +1,25 @@ +package partition_table::lvm; # $Id: $ + +# LVM on full disk + +use diagnostics; +use strict; + +our @ISA = qw(partition_table::raw); + +use common; +use partition_table::raw; +use fs::type; +use lvm; + +sub initialize { + my ($hd) = @_; + + my $part = { size => $hd->{totalsectors}, device => $hd->{device} }; + add2hash($part, fs::type::type_name2subpart('Linux Logical Volume Manager')); + + $hd->{readonly} = $hd->{getting_rid_of_readonly_allowed} = 1; + $hd->{primary}{normal} = [ $part ]; + + bless $hd, 'partition_table::lvm'; +} -- cgit v1.2.1