summaryrefslogtreecommitdiffstats
path: root/perl-install/fs
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/fs')
-rw-r--r--perl-install/fs/mount_options.pm4
-rw-r--r--perl-install/fs/type.pm5
2 files changed, 7 insertions, 2 deletions
diff --git a/perl-install/fs/mount_options.pm b/perl-install/fs/mount_options.pm
index c7baa4e7b..b4890e877 100644
--- a/perl-install/fs/mount_options.pm
+++ b/perl-install/fs/mount_options.pm
@@ -195,7 +195,7 @@ sub set_default {
if ($part->{fs_type} eq 'smbfs') {
add2hash($options, { 'username=' => '%' }) if !$options->{'credentials='};
}
- if (member('vfat', split(':', $part->{fs_type})) || $part->{fs_type} eq 'auto') {
+ if (fs::type::can_be_this_fs_type($part, 'vfat')) {
put_in_hash($options, {
users => 1, noexec => 0,
@@ -211,7 +211,7 @@ sub set_default {
'umask=0' => $opts{security} < 3, 'umask=0022' => $opts{security} < 4,
});
}
- if (member('iso9660', split(':', $part->{fs_type})) || $part->{fs_type} eq 'auto') {
+ if (fs::type::can_be_this_fs_type($part, 'iso9660')) {
put_in_hash($options, { user => 1, noexec => 0, 'iocharset=' => $opts{iocharset} });
}
if ($part->{fs_type} eq 'reiserfs') {
diff --git a/perl-install/fs/type.pm b/perl-install/fs/type.pm
index 0b361b8f2..70aace58f 100644
--- a/perl-install/fs/type.pm
+++ b/perl-install/fs/type.pm
@@ -341,6 +341,11 @@ sub isMounted { $_[0]{isMounted} }
sub isBusy { isMounted($_[0]) || isPartOfRAID($_[0]) || isPartOfLVM($_[0]) || isPartOfLoopback($_[0]) }
sub isSpecial { isRAID($_[0]) || isLVM($_[0]) || isLoopback($_[0]) || isUBD($_[0]) }
+sub can_be_this_fs_type {
+ my ($part, $fs_type) = @_;
+ $part->{fs_type} && ($part->{fs_type} eq 'auto' || member($fs_type, split(':', $part->{fs_type})));
+}
+
sub maybeFormatted {
my ($part) = @_;
$part->{isFormatted} || !$part->{notFormatted} && !$part->{bad_fs_type_magic};