Message ID | 0e243759cb9551eaac8b6f10f4dfbcbd5e880d56.1706810184.git.fdmanana@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | btrfs: make test pass or skip them when using nodatacow | expand |
On Thu, 1 Feb 2024 18:03:48 +0000, fdmanana@kernel.org wrote: > From: Filipe Manana <fdmanana@suse.com> > > Currently btrfs/173 fails when passing "-o nodatacow" to MOUNT_OPTIONS > because it assumes that when creating a file it does not have the > nodatacow flag set, which is obviously not true if the fs is mounted with > "-o nodatacow". To allow the test to run successfully with nodatacow, > just make sure it clears the nodatacow flag from the file if the fs was > mounted with "-o nodatacow". > > Signed-off-by: Filipe Manana <fdmanana@suse.com> > --- > tests/btrfs/173 | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tests/btrfs/173 b/tests/btrfs/173 > index 6e78a826..42af2d26 100755 > --- a/tests/btrfs/173 > +++ b/tests/btrfs/173 > @@ -23,6 +23,11 @@ echo "COW file" > # unset it after the swap file has been created. > rm -f "$SCRATCH_MNT/swap" > touch "$SCRATCH_MNT/swap" > +# Make sure we have a COW file if we were mounted with "-o nodatacow". > +if _normalize_mount_options "$MOUNT_OPTIONS" | grep -q "nodatacow"; then > + _require_chattr C > + $CHATTR_PROG -C "$SCRATCH_MNT/swap" > +fi Nit: _format_swapfile already calls $CHATTR_PROG +C, so might as well put the _require_chattr call alongside _require_scratch_swapfile > chmod 0600 "$SCRATCH_MNT/swap" > _pwrite_byte 0x61 0 $(($(_get_page_size) * 10)) "$SCRATCH_MNT/swap" >> $seqres.full > $MKSWAP_PROG "$SCRATCH_MNT/swap" >> $seqres.full
diff --git a/tests/btrfs/173 b/tests/btrfs/173 index 6e78a826..42af2d26 100755 --- a/tests/btrfs/173 +++ b/tests/btrfs/173 @@ -23,6 +23,11 @@ echo "COW file" # unset it after the swap file has been created. rm -f "$SCRATCH_MNT/swap" touch "$SCRATCH_MNT/swap" +# Make sure we have a COW file if we were mounted with "-o nodatacow". +if _normalize_mount_options "$MOUNT_OPTIONS" | grep -q "nodatacow"; then + _require_chattr C + $CHATTR_PROG -C "$SCRATCH_MNT/swap" +fi chmod 0600 "$SCRATCH_MNT/swap" _pwrite_byte 0x61 0 $(($(_get_page_size) * 10)) "$SCRATCH_MNT/swap" >> $seqres.full $MKSWAP_PROG "$SCRATCH_MNT/swap" >> $seqres.full