From d23d3f83976f6cf5678f270009488e09c4b8c51c Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Thu, 27 Feb 2003 19:16:21 +0000 Subject: - add get_info_from_fstab() - use it when reading existing fstab (to get for example devfs mount) --- perl-install/fs.pm | 10 +++++++++- perl-install/install_any.pm | 5 ++--- perl-install/standalone/diskdrake | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/perl-install/fs.pm b/perl-install/fs.pm index 8e63218d9..a8d07edb2 100644 --- a/perl-install/fs.pm +++ b/perl-install/fs.pm @@ -142,8 +142,9 @@ sub add2all_hds { isThisFs('nfs', $_) ? 'nfss' : isThisFs('smbfs', $_) ? 'smbs' : isThisFs('davfs', $_) ? 'davs' : + isTrueFS($_) || isSwap($_) || isOtherAvailableFS($_) ? '' : 'special'; - push @{$all_hds->{$s}}, $_; + push @{$all_hds->{$s}}, $_ if $s; } } @@ -194,6 +195,13 @@ sub merge_info_from_fstab { merge_fstabs($loose, $fstab, @l); } +# - when using "$loose", it does not merge in type&options from the fstab +sub get_info_from_fstab { + my ($all_hds, $prefix) = @_; + my @l = read_fstab($prefix, "/etc/fstab", 'keep_freq_passno'); + add2all_hds($all_hds, @l) +} + sub prepare_write_fstab { my ($fstab, $prefix, $keep_smb_credentials) = @_; $prefix ||= ''; diff --git a/perl-install/install_any.pm b/perl-install/install_any.pm index b29cf48b5..cdfb7e19b 100644 --- a/perl-install/install_any.pm +++ b/perl-install/install_any.pm @@ -980,12 +980,11 @@ sub find_root_parts { } sub use_root_part { my ($all_hds, $part, $prefix) = @_; - my $fstab = [ fsedit::get_really_all_fstab($all_hds) ]; { my $handle = any::inspect($part, $prefix) or die; - fs::merge_info_from_fstab($fstab, $handle->{dir}, 'uniq'); + fs::get_info_from_fstab($all_hds, $handle->{dir}, 'uniq'); } - map { $_->{mntpoint} = 'swap' } grep { isSwap($_) } @$fstab; #- use all available swap. + map { $_->{mntpoint} = 'swap' } grep { isSwap($_) } fsedit::get_really_all_fstab($all_hds); #- use all available swap. } sub getHds { diff --git a/perl-install/standalone/diskdrake b/perl-install/standalone/diskdrake index 24f20061f..54dbd7f75 100755 --- a/perl-install/standalone/diskdrake +++ b/perl-install/standalone/diskdrake @@ -75,7 +75,7 @@ $SIG{__DIE__} = sub { my $m = chomp_($_[0]); log::l("ERROR: $m") }; fs::get_raw_hds('', $all_hds); -fs::merge_info_from_fstab([ fsedit::get_really_all_fstab($all_hds) ], ''); +fs::get_info_from_fstab($all_hds, ''); fs::merge_info_from_mtab([ fsedit::get_really_all_fstab($all_hds) ], ''); $all_hds->{current_fstab} = fs::fstab_to_string($all_hds, ''); -- cgit v1.2.1