]> git.proxmox.com Git - pve-container.git/commitdiff
Fix #2109: resize rbd volume for container failed
authorAlwin Antreich <a.antreich@proxmox.com>
Fri, 8 Mar 2019 14:41:55 +0000 (15:41 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 11 Mar 2019 08:26:31 +0000 (09:26 +0100)
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 <a.antreich@proxmox.com>
src/PVE/API2/LXC.pm

index b10abcb14659fc163058ab98dc0af8d8e48ca824..1cbd3d83b82fe365c3cf03598bbcffff5a54941d 100644 (file)
@@ -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);
                    }
                }
            };