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.pm21
1 files changed, 7 insertions, 14 deletions
diff --git a/perl-install/fs.pm b/perl-install/fs.pm
index 15c2f9240..15de5228d 100644
--- a/perl-install/fs.pm
+++ b/perl-install/fs.pm
@@ -50,10 +50,15 @@ sub read_fstab {
$options = 'defaults' if $options eq 'rw'; # clean-up for mtab read
if ($fs_type eq 'supermount') {
- # normalize this bloody supermount
- $options = join(",", 'supermount', grep {
+ log::l("dropping supermount");
+ $options = join(",", grep {
if (/fs=(.*)/) {
$fs_type = $1;
+
+ #- with supermount, the type could be something like ext2:vfat
+ #- but this can not be done without supermount, so switching to "auto"
+ $fs_type = 'auto' if $fs_type =~ /:/;
+
0;
} elsif (/dev=(.*)/) {
$dev = $1;
@@ -238,18 +243,6 @@ sub prepare_write_fstab {
s/ /\\040/g foreach $mntpoint, $device, $options;
- # handle bloody supermount special case
- if ($options =~ /supermount/) {
- my @l = grep { $_ ne 'supermount' } split(',', $options);
- my ($l1, $l2) = partition { member($_, 'ro', 'exec') } @l;
- $options = join(",", "dev=$device", "fs=$fs_type", @$l1, if_(@$l2, '--', @$l2));
- ($device, $fs_type) = ('none', 'supermount');
- } else {
- #- if we were using supermount, the type could be something like ext2:vfat
- #- but this can not be done without supermount, so switching to "auto"
- $fs_type = 'auto' if $fs_type =~ /:/;
- }
-
my $file_dep = $options =~ /\b(loop|bind)\b/ ? $device : '';
[ $file_dep, $mntpoint, $_->{comment} . join(' ', $device, $mntpoint, $fs_type, $options || 'defaults', $freq, $passno) . "\n" ];