Fix incomplete subvolume detection for receive targets

The previous code only checked for received_uuid being '-', but some incomplete
received subvolumes might have readonly flag disabled while having valid
received_uuid. This change ensures both conditions are checked for proper cleanup.
pull/622/head
Fabiano Parente 2025-05-03 10:18:47 -03:00
parent 58fffab405
commit b9acef3432
No known key found for this signature in database
GPG Key ID: 2423A0DBA782DE64
1 changed files with 1 additions and 1 deletions

2
btrbk
View File

@ -6762,7 +6762,7 @@ MAIN:
# incomplete received (garbled) subvolumes are not readonly and have no received_uuid (as of btrfs-progs v4.3.1).
# a subvolume in droot matching our naming is considered incomplete if received_uuid is not set!
my @delete = grep $_->{node}{received_uuid} eq '-', @{vinfo_subvol_list($droot, btrbk_direct_leaf => $snapshot_name, sort => 'path')};
my @delete = grep { !$_->{node}{readonly} || $_->{node}{received_uuid} eq '-' } @{vinfo_subvol_list($droot, btrbk_direct_leaf => $snapshot_name, sort => 'path')};
my @delete_success;
foreach my $target_vol (@delete) {
DEBUG "Found incomplete target subvolume: $target_vol->{PRINT}";