[pve-devel] [PATCH storage] btrfs: free image: only remove snapshots for current subvol

Fabian Ebner f.ebner at proxmox.com
Wed Oct 6 13:41:16 CEST 2021


Ping, because more people ran into this (see forum thread).

Am 13.09.21 um 11:01 schrieb Fabian Ebner:
> instead of all in the same directory.
> 
> Reported in the community forum:
> https://forum.proxmox.com/threads/error-could-not-statfs-no-such-file-or-directory.96057/
> 
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
>   PVE/Storage/BTRFSPlugin.pm | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/Storage/BTRFSPlugin.pm b/PVE/Storage/BTRFSPlugin.pm
> index dbc1244..0ebb43b 100644
> --- a/PVE/Storage/BTRFSPlugin.pm
> +++ b/PVE/Storage/BTRFSPlugin.pm
> @@ -6,7 +6,7 @@ use warnings;
>   use base qw(PVE::Storage::Plugin);
>   
>   use Fcntl qw(S_ISDIR O_WRONLY O_CREAT O_EXCL);
> -use File::Basename qw(dirname);
> +use File::Basename qw(basename dirname);
>   use File::Path qw(mkpath);
>   use IO::Dir;
>   use POSIX qw(EEXIST);
> @@ -421,9 +421,11 @@ sub free_image {
>       }
>   
>       my $dir = dirname($subvol);
> +    my $basename = basename($subvol);
>       my @snapshot_vols;
>       foreach_subvol($dir, sub {
>   	my ($volume, $name, $snapshot) = @_;
> +	return if $name ne $basename;
>   	return if !defined $snapshot;
>   	push @snapshot_vols, "$dir/$volume";
>       });
> 




More information about the pve-devel mailing list