From 80440faa0ce47df75fab407f9f87dccf200965b2 Mon Sep 17 00:00:00 2001 From: Alwin Antreich Date: Fri, 8 Mar 2019 15:41:55 +0100 Subject: [PATCH] Fix #2109: resize rbd volume for container failed On resizing a container's disk image the filesystem is extended and in the case of RBD the returned path of the volume was not a path to a mapped device. This patch uses map_volume (respectively unmap_volume) to get a device mapped and its path returned by the storage plugin. If a path is not returned then the path method is tried. Currently only the RBD storage plugin returns a path on map_volume. Signed-off-by: Alwin Antreich --- src/PVE/API2/LXC.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm index b10abcb..1cbd3d8 100644 --- a/src/PVE/API2/LXC.pm +++ b/src/PVE/API2/LXC.pm @@ -1606,7 +1606,7 @@ __PACKAGE__->register_method({ PVE::LXC::Config->write_config($vmid, $conf); if ($format eq 'raw') { - my $path = PVE::Storage::path($storage_cfg, $volid, undef); + my $path = PVE::Storage::map_volume($storage_cfg, $volid) // PVE::Storage::path($storage_cfg, $volid); if ($running) { $mp->{mp} = '/'; @@ -1634,6 +1634,8 @@ __PACKAGE__->register_method({ PVE::Tools::run_command(['resize2fs', $path]); }; warn "Failed to update the container's filesystem: $@\n" if $@; + + PVE::Storage::unmap_volume($storage_cfg, $volid); } } }; -- 2.39.2