From 00105c8003aca8ba6499a4fbdd3803529e4671de Mon Sep 17 00:00:00 2001 From: Fiona Ebner Date: Mon, 3 Mar 2025 10:24:42 +0100 Subject: [PATCH] btrfs: fix volume size info for subvolumes in scalar context Return the same size as in list context. See also commit "plugin: file size info: be consistent about size of directory subvol". Fixes cloning containers with unsized subvolumes on BTRFS. Before the change, this would fail with "mkfs.ext4: Device size reported to be zero.". That is because with non-zero size, the allocation of the volume for the clone will be done with 'raw' format by the alloc_disk() helper in LXC.pm rather than 'subvol'. This change will make cloning containers with unsized subvol directories possible. Signed-off-by: Fiona Ebner Link: https://lore.proxmox.com/20250303092445.13873-3-f.ebner@proxmox.com --- 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 5611c1d..cadd00d 100644 --- a/src/PVE/Storage/BTRFSPlugin.pm +++ b/src/PVE/Storage/BTRFSPlugin.pm @@ -487,7 +487,7 @@ sub volume_size_info { my $ctime = (stat($path))[10]; my ($used, $size) = (0, 0); #my ($used, $size) = btrfs_subvol_quota($class, $path); # uses wantarray - return wantarray ? ($size, 'subvol', $used, undef, $ctime) : 1; + return wantarray ? ($size, 'subvol', $used, undef, $ctime) : $size; } return PVE::Storage::Plugin::file_size_info($path, $timeout, $format);