parse backup files and return owner vmid

This commit is contained in:
Dietmar Maurer
2012-02-01 11:47:44 +01:00
parent 05f697c983
commit 2494896aaa

View File

@ -988,7 +988,11 @@ sub parse_volname_dir {
} elsif ($volname =~ m!^rootdir/(\d+)$!) { } elsif ($volname =~ m!^rootdir/(\d+)$!) {
return ('rootdir', $1, $1); return ('rootdir', $1, $1);
} elsif ($volname =~ m!^backup/([^/]+(\.tar|\.tgz))$!) { } 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"; die "unable to parse directory volume name '$volname'\n";
} }
@ -1077,9 +1081,11 @@ sub path {
my $path; my $path;
my $owner; my $owner;
my $vtype = 'image';
if ($scfg->{type} eq 'dir' || $scfg->{type} eq 'nfs') { 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; $owner = $vmid;
my $imagedir = get_image_dir($cfg, $storeid, $vmid); my $imagedir = get_image_dir($cfg, $storeid, $vmid);
@ -1118,7 +1124,7 @@ sub path {
die "unknown storage type '$scfg->{type}'"; die "unknown storage type '$scfg->{type}'";
} }
return wantarray ? ($path, $owner) : $path; return wantarray ? ($path, $owner, $vtype) : $path;
} }
sub storage_migrate { sub storage_migrate {