Subvolumes with active swapfiles should be forbidden to be deleted, because when the subvolume is deleted, we cannot swapoff the swapfile in the deleted subvolume. Fixed by the patch btrfs: prevent subvol with swapfile from being deleted Reviewed-by: Robbie Ko <robbieko@xxxxxxxxxxxx> Signed-off-by: Kaiwen Hu <kevinhu@xxxxxxxxxxxx> --- tests/btrfs/174 | 10 ++++++++++ tests/btrfs/174.out | 3 +++ 2 files changed, 13 insertions(+) diff --git a/tests/btrfs/174 b/tests/btrfs/174 index 3bb5e7f9..08d4af40 100755 --- a/tests/btrfs/174 +++ b/tests/btrfs/174 @@ -11,6 +11,7 @@ _begin_fstest auto quick swap . ./common/filter +. ./common/filter.btrfs _supported_fs btrfs _require_scratch_swapfile @@ -43,7 +44,16 @@ echo "Defrag" # fragmented. $BTRFS_UTIL_PROG filesystem defrag -c "$swapfile" 2>&1 | grep -o "Text file busy" +# We cannot delete sub-volume when the sub-volume contains active swapfile. +echo "Delete subvol" +$BTRFS_UTIL_PROG subvolume delete "$SCRATCH_MNT/swapvol" \ + 2>&1 | grep -o "Text file busy" + swapoff "$swapfile" + +# Delete the sub-volume +$BTRFS_UTIL_PROG subvolume delete $SCRATCH_MNT/swapvol | _filter_btrfs_subvol_delete + _scratch_unmount status=0 diff --git a/tests/btrfs/174.out b/tests/btrfs/174.out index 15bdf79e..8bed461b 100644 --- a/tests/btrfs/174.out +++ b/tests/btrfs/174.out @@ -8,3 +8,6 @@ Snapshot Text file busy Defrag Text file busy +Delete subvol +Text file busy +Delete subvolume 'SCRATCH_MNT/swapvol' -- 2.25.1