linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mateusz Kusiak <mateusz.kusiak@linux.intel.com>
To: Song Liu <song@kernel.org>, linux-raid@vger.kernel.org
Cc: mariusz.tkaczyk@linux.intel.com, jes@trained-monkey.org
Subject: Re: [PATCH mdadm] tests: Gate tests for linear flavor with variable LINEAR
Date: Thu, 28 Dec 2023 15:52:43 +0100	[thread overview]
Message-ID: <b6fbcd89-fa46-4b7c-a495-d0c87cf491f0@linux.intel.com> (raw)
In-Reply-To: <20231221013914.3108026-1-song@kernel.org>

On 21.12.2023 02:39, Song Liu wrote:

> linear flavor is being removed in the kernel [1], so tests for the linear
> flavor will fail. Gate tests for linear flavor with LINEAR=yes, so that we
> can still run these tests for older kernels.
>
> [1] https://lore.kernel.org/linux-raid/20231214222107.2016042-1-song@kernel.org/
> Signed-off-by: Song Liu <song@kernel.org>
> ---
>   tests/00linear     | 5 +++++
>   tests/00names      | 8 +++++++-
>   tests/00raid0      | 4 ++++
>   tests/00readonly   | 8 +++++++-
>   tests/02lineargrow | 5 +++++
>   tests/03assem-incr | 8 +++++++-
>   tests/03r0assem    | 4 ++++
>   tests/04r0update   | 6 ++++++
>   8 files changed, 45 insertions(+), 3 deletions(-)
>
> diff --git a/tests/00linear b/tests/00linear
> index e3ac6555c9dd..5a1160851af2 100644
> --- a/tests/00linear
> +++ b/tests/00linear
> @@ -1,6 +1,11 @@
>   
>   # create a simple linear
>   
> +if [ "$LINEAR" != "yes" ]; then
> +  echo -ne 'skipping... '
> +  exit 0
> +fi
> +
>   mdadm -CR $md0 -l linear -n3 $dev0 $dev1 $dev2
>   check linear
>   testdev $md0 3 $mdsize2_l 1
> diff --git a/tests/00names b/tests/00names
> index 7a066d8fb2b7..d996befc5e8b 100644
> --- a/tests/00names
> +++ b/tests/00names
> @@ -4,7 +4,13 @@ set -x -e
>   conf=$targetdir/mdadm.conf
>   echo "CREATE names=yes" > $conf
>   
> -for i in linear raid0 raid1 raid4 raid5 raid6
> +levels=(raid0 raid1 raid4 raid5 raid6)
> +
> +if [ "$LINEAR" == "yes" ]; then
> +  levels+=( linear )
> +fi
> +
> +for i in ${levels[@]}
>   do
>     mdadm -CR --config $conf /dev/md/$i -l $i -n 4 $dev4 $dev3 $dev2 $dev1
>     check $i
> diff --git a/tests/00raid0 b/tests/00raid0
> index 9b8896cbdc52..6407c320fd65 100644
> --- a/tests/00raid0
> +++ b/tests/00raid0
> @@ -16,6 +16,10 @@ check raid0
>   testdev $md0 5 $size 512
>   mdadm -S $md0
>   
> +if [ "$LINEAR" != "yes" ]; then
> +  echo -ne 'skipping... '
> +  exit 0
> +fi
>   
>   # now same again with different chunk size
>   for chunk in 4 32 256
> diff --git a/tests/00readonly b/tests/00readonly
> index afe243b3a0b0..80b63629e4f9 100644
> --- a/tests/00readonly
> +++ b/tests/00readonly
> @@ -1,8 +1,14 @@
>   #!/bin/bash
>   
> +levels=(raid0 raid1 raid4 raid5 raid6 raid10)
> +
> +if [ "$LINEAR" == "yes" ]; then
> +  levels+=( linear )
> +fi
> +
>   for metadata in 0.9 1.0 1.1 1.2
>   do
> -	for level in linear raid0 raid1 raid4 raid5 raid6 raid10
> +	for level in ${levels[@]}
>   	do
>   		if [[ $metadata == "0.9" && $level == "raid0" ]];
>   		then
> diff --git a/tests/02lineargrow b/tests/02lineargrow
> index 595bf9f20802..d17e2326d13f 100644
> --- a/tests/02lineargrow
> +++ b/tests/02lineargrow
> @@ -1,6 +1,11 @@
>   
>   # create a liner array, and add more drives to to.
>   
> +if [ "$LINEAR" != "yes" ]; then
> +  echo -ne 'skipping... '
> +  exit 0
> +fi
> +
>   for e in 0.90 1 1.1 1.2
>   do
>     case $e in
> diff --git a/tests/03assem-incr b/tests/03assem-incr
> index f10a1a48ee5c..38880a7fed10 100644
> --- a/tests/03assem-incr
> +++ b/tests/03assem-incr
> @@ -6,7 +6,13 @@ set -x -e
>   # Here just test that a partly "-I" assembled array can
>   # be completed with "-A"
>   
> -for l in 0 1 5 linear
> +levels=(raid0 raid1 raid5)
> +
> +if [ "$LINEAR" == "yes" ]; then
> +  levels+=( linear )
> +fi
> +
> +for l in ${levels[@]}
>   do
>     mdadm -CR $md0 -l $l -n5 $dev0 $dev1 $dev2 $dev3 $dev4 --assume-clean
>     mdadm -S md0
> diff --git a/tests/03r0assem b/tests/03r0assem
> index 44df06456233..f7c29e8c1ab6 100644
> --- a/tests/03r0assem
> +++ b/tests/03r0assem
> @@ -64,6 +64,10 @@ mdadm --assemble --scan --config=$conf $md2
>   $tst
>   mdadm -S $md2
>   
> +if [ "$LINEAR" != "yes" ]; then
> +  echo -ne 'skipping... '
> +  exit 0
> +fi
>   
>   ### Now for version 0...
>   
> diff --git a/tests/04r0update b/tests/04r0update
> index b95efb06c761..c495f34a0a79 100644
> --- a/tests/04r0update
> +++ b/tests/04r0update
> @@ -1,5 +1,11 @@
>   
>   # create a raid0, re-assemble with a different super-minor
> +
> +if [ "$LINEAR" != "yes" ]; then
> +  echo -ne 'skipping... '
> +  exit 0
> +fi
> +
>   mdadm -CR -e 0.90 $md0 -llinear -n3 $dev0 $dev1 $dev2
>   testdev $md0 3 $mdsize0 1
>   minor1=`mdadm -E $dev0 | sed -n -e 's/.*Preferred Minor : //p'`
Hi Song, this approach looks a bit dirty to me as it's omitting what's 
already in the test suite. I would prefer adding additional param rather 
than setting environment variable, so test execution flow stays unified 
(as far as I'm aware we do not use flags for now). Adding param is also 
a good excuse to explain why linear is not tested by default in "--help".

Another thing is "--raidtype=linear" option, is probably redundant now.

Thanks, Mateusz


  reply	other threads:[~2023-12-28 14:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-21  1:39 [PATCH mdadm] tests: Gate tests for linear flavor with variable LINEAR Song Liu
2023-12-28 14:52 ` Mateusz Kusiak [this message]
     [not found] ` <1faa5e2e-e4c6-4f82-9ceb-7440939bc167@linux.intel.com>
2023-12-29  8:12   ` Song Liu
2024-01-05  9:58     ` Mariusz Tkaczyk
2024-01-05 23:18       ` Song Liu
2024-01-08  8:39         ` Mariusz Tkaczyk

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=b6fbcd89-fa46-4b7c-a495-d0c87cf491f0@linux.intel.com \
    --to=mateusz.kusiak@linux.intel.com \
    --cc=jes@trained-monkey.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=mariusz.tkaczyk@linux.intel.com \
    --cc=song@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).