summaryrefslogtreecommitdiffstats
path: root/perl-install/fs.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/fs.pm')
-rw-r--r--perl-install/fs.pm14
1 files changed, 8 insertions, 6 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index d9bba4694..0a3e868bb 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -18,10 +18,10 @@ use loopback;
sub read_fstab {
- my ($file) = @_;
+ my ($file, $all_options) = @_;
map {
- my ($dev, $mntpoint, $type, $options) = split;
+ my ($dev, $mntpoint, $type, $options, $freq, $passno) = split;
$options = 'defaults' if $options eq 'rw'; # clean-up for mtab read
@@ -49,7 +49,7 @@ sub read_fstab {
}
}
- { device => $dev, mntpoint => $mntpoint, type => $type, options => $options };
+ { device => $dev, mntpoint => $mntpoint, type => $type, options => $options, if_($all_options, freq => $freq, passno => $passno) };
} cat_($file);
}
@@ -101,7 +101,7 @@ sub merge_info_from_mtab {
sub merge_info_from_fstab {
my ($fstab, $prefix, $uniq) = @_;
- my @l = grep { !($uniq && fsedit::mntpoint2part($_->{mntpoint}, $fstab)) } read_fstab("$prefix/etc/fstab");
+ my @l = grep { !($uniq && fsedit::mntpoint2part($_->{mntpoint}, $fstab)) } read_fstab("$prefix/etc/fstab", 'all_options');
merge_fstabs($fstab, @l);
}
@@ -110,7 +110,7 @@ sub write_fstab {
$prefix ||= '';
my @l1 = (fsedit::get_really_all_fstab($all_hds), @{$all_hds->{special}});
- my @l2 = read_fstab("$prefix/etc/fstab");
+ my @l2 = read_fstab("$prefix/etc/fstab", 'all_options');
my %new;
my @l = map {
@@ -128,6 +128,8 @@ sub write_fstab {
my $mntpoint = loopback::carryRootLoopback($_) ? '/initrd/loopfs' : $_->{mntpoint};
my ($freq, $passno) =
+ exists $_->{freq} ?
+ ($_->{freq}, $_->{passno}) :
isTrueFS($_) ?
(1, $_->{mntpoint} eq '/' ? 1 : loopback::carryRootLoopback($_) ? 0 : 2) :
(0, 0);
@@ -373,7 +375,7 @@ sub get_raw_hds {
detect_devices::floppies(), detect_devices::cdroms(),
(map { $_->{device} .= '4'; $_ } detect_devices::zips())
];
- my @fstab = read_fstab("$prefix/etc/fstab");
+ my @fstab = read_fstab("$prefix/etc/fstab", 'all_options');
$all_hds->{nfss} = [ grep { isNfs($_) } @fstab ];
$all_hds->{smbs} = [ grep { isThisFs('smbfs', $_) } @fstab ];
$all_hds->{special} = [