zpool: avoid wrong mount-decoding of dataset
this was mistakenly done as the procfs code uses it and it was assumed we need to decode this too to get both in the same encoding-space and thus correct comparission. But only procfs has that encoding, we don't have it for pool values in the storage config, so we must not do a decode on that value, that could potentially break. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
@ -531,7 +531,7 @@ sub activate_storage {
|
||||
|
||||
my $dataset_mounted = sub {
|
||||
my $mounted = 0;
|
||||
my $dataset_dec = PVE::ProcFSTools::decode_mount($dataset);
|
||||
|
||||
my $mounts = eval { PVE::ProcFSTools::parse_proc_mounts() };
|
||||
warn "$@\n" if $@;
|
||||
foreach my $mp (@$mounts) {
|
||||
@ -540,7 +540,7 @@ sub activate_storage {
|
||||
# check for root-dataset of storage or any child-dataset.
|
||||
# root-dataset could have 'canmount=off'. If any child is mounted
|
||||
# heuristically assume that `zfs mount -a` was successful
|
||||
next if $what !~ m!^$dataset_dec(?:/|$)!;
|
||||
next if $what !~ m!^$dataset(?:/|$)!;
|
||||
$mounted = 1;
|
||||
last;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user