X-Git-Url: https://git.proxmox.com/?p=pve-storage.git;a=blobdiff_plain;f=PVE%2FStorage.pm;h=cd74a3ade79cd039fc93b0b9e17820f0d4a95976;hp=c78bac6c06963de1210e05527d446385b8f4e467;hb=5c009b733ebfd4c8f1b9c989435850e7bf4e07a5;hpb=75d75990b4a32c1e058413631fa17e8fb524b5ff diff --git a/PVE/Storage.pm b/PVE/Storage.pm index c78bac6..cd74a3a 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -1981,8 +1981,6 @@ sub deactivate_volumes { return if !($vollist && scalar(@$vollist)); - my $lvs = lvm_lvs (); - my @errlist = (); foreach my $volid (@$vollist) { my ($storeid, $volname) = parse_volume_id ($volid); @@ -1990,16 +1988,14 @@ sub deactivate_volumes { my $scfg = storage_config ($cfg, $storeid); if ($scfg->{type} eq 'lvm') { - my ($name) = parse_volname_lvm ($volname); - - if ($lvs->{$scfg->{vgname}}->{$name}) { - my $path = path ($cfg, $volid); - my $cmd = ['/sbin/lvchange', '-aln', $path]; - eval { run_command($cmd, errmsg => "can't deactivate LV '$volid'"); }; - if (my $err = $@) { - warn $err; - push @errlist, $volid; - } + my $path = path ($cfg, $volid); + next if ! -b $path; + + my $cmd = ['/sbin/lvchange', '-aln', $path]; + eval { run_command($cmd, errmsg => "can't deactivate LV '$volid'"); }; + if (my $err = $@) { + warn $err; + push @errlist, $volid; } } }