From 1ac17c745e40e988cb8a0b7e7dfcce78be7481b1 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Mon, 14 Nov 2011 07:11:36 +0100 Subject: [PATCH] improved container support (rootdir) --- Makefile | 2 +- PVE/Storage.pm | 14 +++++++++++++- changelog.Debian | 6 ++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index f8fa58c..4e34d47 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ RELEASE=2.0 VERSION=2.0 PACKAGE=libpve-storage-perl -PKGREL=5 +PKGREL=6 DESTDIR= PREFIX=/usr diff --git a/PVE/Storage.pm b/PVE/Storage.pm index cdb8f31..106384f 100755 --- a/PVE/Storage.pm +++ b/PVE/Storage.pm @@ -1002,7 +1002,9 @@ sub parse_volname_dir { 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"; @@ -1058,6 +1060,7 @@ sub path_to_volume_id { 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; @@ -1069,6 +1072,9 @@ sub path_to_volume_id { } 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"); @@ -1097,6 +1103,7 @@ sub path { 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"; @@ -1104,6 +1111,8 @@ sub path { $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 { @@ -1832,6 +1841,7 @@ sub __activate_storage_full { 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} && @@ -1840,6 +1850,8 @@ sub __activate_storage_full { $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; } diff --git a/changelog.Debian b/changelog.Debian index ee827f9..419f6b9 100644 --- a/changelog.Debian +++ b/changelog.Debian @@ -1,3 +1,9 @@ +libpve-storage-perl (2.0-6) unstable; urgency=low + + * improved container support + + -- Proxmox Support Team Mon, 14 Nov 2011 07:10:45 +0100 + libpve-storage-perl (2.0-5) unstable; urgency=low * allow container rootdir on NFS