All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eryu Guan <guan@eryu.me>
To: Naohiro Aota <naohiro.aota@wdc.com>
Cc: fstests@vger.kernel.org, linux-btrfs@vger.kernel.org
Subject: Re: [PATCH v2 5/8] common: add zoned block device checks
Date: Sun, 15 Aug 2021 22:42:46 +0800	[thread overview]
Message-ID: <YRkn5uj9Yp/W3hYF@desktop> (raw)
In-Reply-To: <20210811151232.3713733-6-naohiro.aota@wdc.com>

On Thu, Aug 12, 2021 at 12:12:29AM +0900, Naohiro Aota wrote:
> dm-error and dm-snapshot does not have DM_TARGET_ZONED_HM nor
> DM_TARGET_MIXED_ZONED_MODEL feature and does not implement
> .report_zones(). So, it cannot pass the zone information from the down
> layer (zoned device) to the upper layer.
> 
> Loop device also cannot pass the zone information.
> 
> This patch requires non-zoned block device for the tests using these
> ones.
> 
> Signed-off-by: Naohiro Aota <naohiro.aota@wdc.com>
> ---
>  common/dmerror    | 3 +++
>  common/dmhugedisk | 3 +++
>  common/rc         | 7 +++++++
>  3 files changed, 13 insertions(+)
> 
> diff --git a/common/dmerror b/common/dmerror
> index 01a4c8b5e52d..64ee78d85b95 100644
> --- a/common/dmerror
> +++ b/common/dmerror
> @@ -15,6 +15,9 @@ _dmerror_setup()
>  	export DMLINEAR_TABLE="0 $blk_dev_size linear $dm_backing_dev 0"
>  
>  	export DMERROR_TABLE="0 $blk_dev_size error $dm_backing_dev 0"
> +
> +	# dm-error cannot handle zone information
> +	_require_non_zoned_device "${dm_backing_dev}"

We should really do the check in _require rules not in _setup()
functions. Please see below.

>  }
>  
>  _dmerror_init()
> diff --git a/common/dmhugedisk b/common/dmhugedisk
> index 502f0243772d..715f95efde29 100644
> --- a/common/dmhugedisk
> +++ b/common/dmhugedisk
> @@ -16,6 +16,9 @@ _dmhugedisk_init()
>  	local dm_backing_dev=$SCRATCH_DEV
>  	local chunk_size="$2"
>  
> +	# We cannot ensure sequential writes on the backing device
> +	_require_non_zoned_device $dm_backing_dev
> +
>  	if [ -z "$chunk_size" ]; then
>  		chunk_size=512
>  	fi
> diff --git a/common/rc b/common/rc
> index 7b80820ff680..03b7e0310a84 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1837,6 +1837,9 @@ _require_loop()
>      else
>  	_notrun "This test requires loopback device support"
>      fi
> +
> +    # loop device does not handle zone information
> +    _require_non_zoned_device ${TEST_DEV}
>  }
>  
>  # this test requires kernel support for a secondary filesystem
> @@ -1966,6 +1969,10 @@ _require_dm_target()
>  	if [ $? -ne 0 ]; then
>  		_notrun "This test requires dm $target support"
>  	fi
> +
> +	if [ $target = thin-pool ]; then
> +		_require_non_zoned_device ${SCRATCH_DEV}
> +	fi

I think we could move all check here, based on $target, e.g.

	case $target in
	thin-pool|error|snapshot)
		_require_non_zoned_device ${SCRATCH_DEV}
		;;
	esac

Thanks,
Eryu

>  }
>  
>  _zone_type()
> -- 
> 2.32.0

  reply	other threads:[~2021-08-15 14:42 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-11 15:12 [PATCH v2 0/8] fstests: add checks for testing zoned btrfs Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 1/8] common/rc: introduce minimal fs size check Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 2/8] common/rc: fix blocksize detection for btrfs Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 3/8] btrfs/057: use _scratch_mkfs_sized to set filesystem size Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 4/8] fstests: btrfs: add minimal file system size check Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 5/8] common: add zoned block device checks Naohiro Aota
2021-08-15 14:42   ` Eryu Guan [this message]
2021-08-16  6:06     ` Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 6/8] shared/032: add check for zoned block device Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 7/8] fstests: btrfs: add checks " Naohiro Aota
2021-08-15 15:12   ` Eryu Guan
2021-08-16  6:10     ` Naohiro Aota
2021-08-11 15:12 ` [PATCH v2 8/8] fstests: generic: " Naohiro Aota
2021-08-15 15:20   ` Eryu Guan
2021-08-16  6:19     ` Naohiro Aota
2021-08-12 15:41 ` [PATCH v2 0/8] fstests: add checks for testing zoned btrfs David Sterba
2021-08-15 15:21 ` Eryu Guan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YRkn5uj9Yp/W3hYF@desktop \
    --to=guan@eryu.me \
    --cc=fstests@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=naohiro.aota@wdc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.