From 2494896aaa0601c3ca2248eed1a0ba8ebaa2ef95 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 1 Feb 2012 11:47:44 +0100 Subject: [PATCH] parse backup files and return owner vmid --- PVE/Storage.pm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/PVE/Storage.pm b/PVE/Storage.pm index 45186fc..c5b4ef2 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -988,7 +988,11 @@ sub parse_volname_dir { } elsif ($volname =~ m!^rootdir/(\d+)$!) { return ('rootdir', $1, $1); } elsif ($volname =~ m!^backup/([^/]+(\.tar|\.tgz))$!) { - return ('backup', $1); + my $fn = $1; + if ($fn =~ m/^vzdump-(openvz|qemu)-(\d+)-.+/) { + return ('backup', $fn, $2); + } + return ('backup', $fn); } die "unable to parse directory volume name '$volname'\n"; } @@ -1077,9 +1081,11 @@ sub path { my $path; my $owner; + my $vtype = 'image'; if ($scfg->{type} eq 'dir' || $scfg->{type} eq 'nfs') { - my ($vtype, $name, $vmid) = parse_volname_dir ($volname); + my ($name, $vmid); + ($vtype, $name, $vmid) = parse_volname_dir ($volname); $owner = $vmid; my $imagedir = get_image_dir($cfg, $storeid, $vmid); @@ -1118,7 +1124,7 @@ sub path { die "unknown storage type '$scfg->{type}'"; } - return wantarray ? ($path, $owner) : $path; + return wantarray ? ($path, $owner, $vtype) : $path; } sub storage_migrate {