summaryrefslogtreecommitdiffstats
path: root/perl-install/diskdrake
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/diskdrake')
-rw-r--r--perl-install/diskdrake/interactive.pm11
1 files changed, 6 insertions, 5 deletions
diff --git a/perl-install/diskdrake/interactive.pm b/perl-install/diskdrake/interactive.pm
index e2c666212..8651fc44d 100644
--- a/perl-install/diskdrake/interactive.pm
+++ b/perl-install/diskdrake/interactive.pm
@@ -950,13 +950,13 @@ sub Loopback {
sub Options {
my ($in, $hd, $part, $all_hds) = @_;
- my @simple_options = qw(user noauto supermount username= password=);
+ my @simple_options = qw(users noauto supermount username= password=);
my (undef, $user_implies) = fs::mount_options::list();
my ($options, $unknown) = fs::mount_options::unpack($part);
my %help = fs::mount_options::help();
- my $prev_user = $options->{user};
+ my %prev_options = %$options;
$in->ask_from(N("Mount options"),
'',
[
@@ -967,9 +967,10 @@ sub Options {
{ label => N("Various"), val => \$unknown, advanced => 1 },
],
changed => sub {
- if ($prev_user != $options->{user}) {
- $prev_user = $options->{user};
- $options->{$_} = $options->{user} foreach @$user_implies;
+ if (my $user = find { $prev_options{$_} != $options->{$_} } 'users', 'user') {
+ $options->{$user eq 'user' ? 'users' : 'user'} = 0 if $options->{$user}; # we don't want both user and users
+ $options->{$_} = $options->{$user} foreach @$user_implies;
+ %prev_options = %$options;
}
if ($options->{encrypted}) {
# modify $part->{options} for the check