return if !($vollist && scalar(@$vollist));
- my $lvs = lvm_lvs ();
-
my @errlist = ();
foreach my $volid (@$vollist) {
my ($storeid, $volname) = parse_volume_id ($volid);
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;
}
}
}