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.pm17
1 files changed, 8 insertions, 9 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index 13bcf8471..726f8041c 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -34,6 +34,8 @@ sub read_fstab {
} elsif (/dev=(.*)/) {
$dev = $1;
0;
+ } elsif ($_ eq '--') {
+ 0;
} else {
1;
}
@@ -85,8 +87,8 @@ sub add2all_hds {
foreach (@l) {
my $s =
- isNfs($_) ? 'nfs' :
- isThisFs('smbfs', $_) ? 'smb' :
+ isNfs($_) ? 'nfss' :
+ isThisFs('smbfs', $_) ? 'smbs' :
'special';
push @{$all_hds->{$s}}, $_;
}
@@ -170,7 +172,10 @@ sub write_fstab {
# handle bloody supermount special case
if ($options =~ /supermount/) {
- $options = join(",", "dev=$dev", "fs=$type", grep { $_ ne 'supermount' } split(',', $options));
+ my @l = grep { $_ ne 'supermount' } split(',', $options);
+ my @l1 = grep { member($_, 'ro', 'exec') } @l;
+ my @l2 = difference2(\@l, \@l1);
+ $options = join(",", "dev=$dev", "fs=$type", @l1, if_(@l2, '--', @l2));
($dev, $type) = ($mntpoint, 'supermount');
}
@@ -362,12 +367,6 @@ sub set_default_options {
$options->{user} = 0;
}
- if ($options->{supermount}) {
- #- drives supermount crazy :'-(
- delete $options->{'codepage='};
- delete $options->{'iocharset='};
- }
-
# have noauto when we have user
$options->{noauto} = 1 if $options->{user};