From a3076d812fa68901a1702f3b57551a168ab9a77b Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Fri, 21 Aug 2015 17:10:18 +0200 Subject: [PATCH] volid_path: don't format $path with loop:/ This is only used in lxc config and not a real path Signed-off-by: Alexandre Derumier --- src/PVE/LXC.pm | 19 ++++++++++--------- src/lxc-pve-mount-hook | 2 +- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm index b90848b..9d2ea4f 100644 --- a/src/PVE/LXC.pm +++ b/src/PVE/LXC.pm @@ -999,6 +999,7 @@ sub update_lxc_config { my $shares = $conf->{cpuunits} || 1024; $raw .= "lxc.cgroup.cpu.shares = $shares\n"; + PVE::LXC::foreach_mountpoint($conf, sub { my ($ms, $mountpoint) = @_; @@ -1006,7 +1007,12 @@ sub update_lxc_config { my $volid = $mountpoint->{volume}; return if !$volid || $volid =~ m|^/dev/.+|; - my $path = volid_path ($volid, $ms, $storage_cfg); + my $path = volid_path ($volid, $storage_cfg); + + my ($storage, $volname) = PVE::Storage::parse_volume_id($volid); + my $scfg = PVE::Storage::storage_config($storage_cfg, $storage); + $path = "loop:".$path if $scfg->{path}; + $raw .= "lxc.rootfs = $path\n"; }); @@ -1834,7 +1840,7 @@ sub check_ct_modify_config_perm { sub volid_path { - my ($volid, $ms, $storage_cfg, $loopdevs) = @_; + my ($volid, $storage_cfg, $loopdevs) = @_; my ($storage, $volname) = PVE::Storage::parse_volume_id($volid); my $scfg = PVE::Storage::storage_config($storage_cfg, $storage); @@ -1850,12 +1856,7 @@ sub volid_path { } elsif ($format eq 'raw') { if ($scfg->{path}) { - if ($ms eq 'rootfs') { - $path = "loop:$path\n" if $ms eq 'rootfs'; - } elsif ($loopdevs) { - $path = PVE::LXC::find_loopdev($loopdevs, $path) if $loopdevs; - } - + $path = PVE::LXC::find_loopdev($loopdevs, $path) if $loopdevs; } elsif ($scfg->{type} eq 'drbd' || $scfg->{type} eq 'rbd') { #do nothing } else { @@ -1938,7 +1939,7 @@ sub mountpoint_mount { return; } - my $path = PVE::LXC::volid_path($volid, $ms, $storage_cfg, $loopdevs); + my $path = PVE::LXC::volid_path($volid, $storage_cfg, $loopdevs); if ($path !~ m|^/dev/.+|) { PVE::Tools::run_command(['mount', '-o', 'bind', $path, $mount_path]); diff --git a/src/lxc-pve-mount-hook b/src/lxc-pve-mount-hook index 0b99e68..2f8f286 100755 --- a/src/lxc-pve-mount-hook +++ b/src/lxc-pve-mount-hook @@ -101,7 +101,7 @@ __PACKAGE__->register_method ({ my $volid = $mountpoint->{volume}; return if !$volid || $volid =~ m|^/dev/.+|; - my $path = PVE::LXC::volid_path($volid, $ms, $storage_cfg, $loopdevs); + my $path = PVE::LXC::volid_path($volid, $storage_cfg, $loopdevs); if (-l $path) { $path = readlink($path); -- 2.39.5