diff options
Diffstat (limited to 'perl-install/partition_table')
-rw-r--r-- | perl-install/partition_table/lvm.pm | 16 | ||||
-rw-r--r-- | perl-install/partition_table/readonly.pm | 20 |
2 files changed, 27 insertions, 9 deletions
diff --git a/perl-install/partition_table/lvm.pm b/perl-install/partition_table/lvm.pm index 0e8090772..e82d026e1 100644 --- a/perl-install/partition_table/lvm.pm +++ b/perl-install/partition_table/lvm.pm @@ -5,23 +5,19 @@ package partition_table::lvm; # $Id: $ use diagnostics; use strict; -our @ISA = qw(partition_table::raw); +1; use common; -use partition_table::raw; use fs::type; use lvm; -sub initialize { - my ($class, $hd) = @_; +sub _parts { + 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, $class; + [ $part ]; } sub read_primary { @@ -32,6 +28,8 @@ sub read_primary { $type && $type->{pt_type} == $wanted->{pt_type} or return; - partition_table::lvm->initialize($hd); + require partition_table::readonly; + partition_table::readonly->initialize($hd, _parts($hd)); + 1; } diff --git a/perl-install/partition_table/readonly.pm b/perl-install/partition_table/readonly.pm new file mode 100644 index 000000000..c0d483aaf --- /dev/null +++ b/perl-install/partition_table/readonly.pm @@ -0,0 +1,20 @@ +package partition_table::readonly; # $Id: $ + +use diagnostics; +use strict; + +our @ISA = qw(partition_table::raw); + +use common; +use partition_table::raw; +use fs::type; +use lvm; + +sub initialize { + my ($class, $hd, $parts) = @_; + + $hd->{readonly} = $hd->{getting_rid_of_readonly_allowed} = 1; + $hd->{primary}{normal} = $parts; + + bless $hd, $class; +} |