[pve-devel] [PATCH 01/44] storage : vdisk_free : eval parse_volname
Alexandre Derumier
aderumier at odiso.com
Tue Feb 5 12:55:28 CET 2013
If the storage have some customs volumes name, vdisk_free will hang
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/Storage.pm | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/PVE/Storage.pm b/PVE/Storage.pm
index 50bd0c5..c2f83a0 100755
--- a/PVE/Storage.pm
+++ b/PVE/Storage.pm
@@ -528,11 +528,15 @@ sub vdisk_free {
my $vollist = $plugin->list_images($storeid, $scfg);
foreach my $info (@$vollist) {
my (undef, $tmpvolname) = parse_volume_id($info->{volid});
+ my $basename = undef;
+ my $basevmid = undef;
- my (undef, undef, undef, $basename, $basevmid) =
- $plugin->parse_volname($tmpvolname);
+ eval{
+ (undef, undef, undef, $basename, $basevmid) =
+ $plugin->parse_volname($tmpvolname);
+ };
- if ($basename && $basevmid == $vmid && $basename eq $name) {
+ if ($basename && $basevmid && $basevmid == $vmid && $basename eq $name) {
die "base volume '$volname' is still in use " .
"(use by '$tmpvolname')\n";
}
--
1.7.10.4
More information about the pve-devel
mailing list