return ('iso', $1);
} elsif ($volname =~ m!^vztmpl/([^/]+\.tar\.gz)$!) {
return ('vztmpl', $1);
- } elsif ($volname =~ m!^backup/([^/]+(\.tar|\.tgz))$!) {
+ } elsif ($volname =~ m!^rootdir/(\d+)$!) {
+ return ('rootdir', $1, $1);
+ } elsif ($volname =~ m!^backup/([^/]+(\.tar|\.tgz))$!) {
return ('backup', $1);
}
die "unable to parse directory volume name '$volname'\n";
my $isodir = get_iso_dir($cfg, $sid);
my $tmpldir = get_vztmpl_dir($cfg, $sid);
my $backupdir = get_backup_dir($cfg, $sid);
+ my $privatedir = get_private_dir($cfg, $sid);
if ($path =~ m!^$imagedir/(\d+)/([^/\s]+)$!) {
my $vmid = $1;
} elsif ($path =~ m!^$tmpldir/([^/]+\.tar\.gz)$!) {
my $name = $1;
return ('vztmpl', "$sid:vztmpl/$name");
+ } elsif ($path =~ m!^$privatedir/(\d+)$!) {
+ my $vmid = $1;
+ return ('rootdir', "$sid:rootdir/$vmid");
} elsif ($path =~ m!^$backupdir/([^/]+\.(tar|tgz))$!) {
my $name = $1;
return ('iso', "$sid:backup/$name");
my $isodir = get_iso_dir($cfg, $storeid);
my $tmpldir = get_vztmpl_dir($cfg, $storeid);
my $backupdir = get_backup_dir($cfg, $storeid);
+ my $privatedir = get_private_dir($cfg, $storeid);
if ($vtype eq 'image') {
$path = "$imagedir/$name";
$path = "$isodir/$name";
} elsif ($vtype eq 'vztmpl') {
$path = "$tmpldir/$name";
+ } elsif ($vtype eq 'rootdir') {
+ $path = "$privatedir/$name";
} elsif ($vtype eq 'backup') {
$path = "$backupdir/$name";
} else {
my $isodir = get_iso_dir($cfg, $storeid);
my $tmpldir = get_vztmpl_dir($cfg, $storeid);
my $backupdir = get_backup_dir($cfg, $storeid);
+ my $privatedir = get_private_dir($cfg, $storeid);
if (defined($scfg->{content})) {
mkpath $imagedir if $scfg->{content}->{images} &&
$isodir ne $path;
mkpath $tmpldir if $scfg->{content}->{vztmpl} &&
$tmpldir ne $path;
+ mkpath $privatedir if $scfg->{content}->{rootdir} &&
+ $privatedir ne $path;
mkpath $backupdir if $scfg->{content}->{backup} &&
$backupdir ne $path;
}