all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH storage] fix #6441: btrfs: fix cloning templates with non-raw disk images
@ 2026-10-03 12:15 Michal Fox
  0 siblings, 0 replies; only message in thread
From: Michal Fox @ 2026-10-03 12:15 UTC (permalink / raw)
  To: pve-devel

Cloning a template with a disk image that is neither raw nor a
subvolume, for example a qcow2 image, failed on a BTRFS storage with:

  clone failed: Undefined subroutine &PVE::Storage::DirPlugin::clone_image called

For such images, the BTRFS plugin forwards the call to the DirPlugin.
But the DirPlugin does not implement clone_image itself, it inherits it
from the base plugin, and calling it as a plain function does not go
through the inheritance.

Call the implementation of the base plugin directly instead, like it is
already done for create_base.

Fixes: af50c2e ("add BTRFS storage plugin")
Signed-off-by: Michal Fox <me@dualfroz.com>
---
Tested by calling clone_image of the BTRFS plugin for a qcow2 base image
on a test storage: before, it failed with the error from the bug report,
now it creates the linked clone. The raw and subvol code paths are not
touched.

 src/PVE/Storage/BTRFSPlugin.pm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/PVE/Storage/BTRFSPlugin.pm b/src/PVE/Storage/BTRFSPlugin.pm
index fb47aa0..99aa811 100644
--- a/src/PVE/Storage/BTRFSPlugin.pm
+++ b/src/PVE/Storage/BTRFSPlugin.pm
@@ -291,7 +291,7 @@ sub clone_image {
     # If we're not working with a 'raw' file, which is the only thing that's "different" for btrfs,
     # or a subvolume, we forward to the DirPlugin
     if ($format ne 'raw' && $format ne 'subvol') {
-        return PVE::Storage::DirPlugin::clone_image(@_);
+        return PVE::Storage::Plugin::clone_image(@_);
     }
 
     my $imagedir = $class->get_subdir($scfg, 'images');
-- 
2.43.0




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-03 12:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-03 12:15 [PATCH storage] fix #6441: btrfs: fix cloning templates with non-raw disk images Michal Fox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal