Re: [PATCH] btrfs: test send optimal cloning behaviour

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]



On Wed, 25 Jan 2023 11:07:54 +0000, fdmanana@xxxxxxxxxx wrote:

> From: Filipe Manana <fdmanana@xxxxxxxx>
> 
> Test that send operations do the best cloning decisions when we have
> extents that are shared but some files refer to the full extent while
> others refer to only a section of the extent.
> 
> This exercises an optimization that was added to kernel 6.2, by the
> following commit:
> 
>   c7499a64dcf6 ("btrfs: send: optimize clone detection to increase extent sharing")
> 
> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx>
> ---
>  tests/btrfs/283     | 88 +++++++++++++++++++++++++++++++++++++++++++++
>  tests/btrfs/283.out | 26 ++++++++++++++
>  2 files changed, 114 insertions(+)
>  create mode 100755 tests/btrfs/283
>  create mode 100644 tests/btrfs/283.out
> 
> diff --git a/tests/btrfs/283 b/tests/btrfs/283
> new file mode 100755
> index 00000000..c1f6007d
> --- /dev/null
> +++ b/tests/btrfs/283
> @@ -0,0 +1,88 @@
> +#! /bin/bash
> +# SPDX-License-Identifier: GPL-2.0
> +# Copyright (C) 2023 SUSE Linux Products GmbH. All Rights Reserved.
> +#
> +# FS QA Test 283
> +#
> +# Test that send operations do the best cloning decisions when we have extents
> +# that are shared but some files refer to the full extent while others refer to
> +# only a section of the extent.
> +#
> +. ./common/preamble
> +_begin_fstest auto quick send clone fiemap
> +
> +. ./common/filter
> +. ./common/reflink
> +. ./common/punch # for _filter_fiemap_flags
> +
> +_supported_fs btrfs
> +_require_test
> +_require_scratch_reflink
> +_require_cp_reflink
> +_require_xfs_io_command "fiemap"
> +_require_fssum
> +
> +_wants_kernel_commit c7499a64dcf6 \
> +	     "btrfs: send: optimize clone detection to increase extent sharing"
> +
> +send_files_dir=$TEST_DIR/btrfs-test-$seq
> +send_stream=$send_files_dir/snap.stream
> +snap_fssum=$send_files_dir/snap.fssum
> +
> +rm -fr $send_files_dir
> +mkdir $send_files_dir

I'm not sure what the rules are regarding TEST_DIR residuals, but it
might be worth adding a custom _cleanup() for $send_files_dir .
Anyhow, looks good as-is.
Reviewed-by: David Disseldorp <ddiss@xxxxxxx>



[Index of Archives]     [Linux Filesystems Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux