Re: [PATCH -v3 1/1] mdadm/test: Add one test case for raid5 reshape

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

 




----- Original Message -----
> From: "Zhilong Liu" <zlliu@xxxxxxxx>
> To: "Xiao Ni" <xni@xxxxxxxxxx>, linux-raid@xxxxxxxxxxxxxxx
> Cc: "jes sorensen" <jes.sorensen@xxxxxxxxx>
> Sent: Tuesday, July 18, 2017 6:34:33 PM
> Subject: Re: [PATCH -v3 1/1] mdadm/test: Add one test case for raid5 reshape
> 
> 
> 
> On 07/18/2017 04:55 PM, Xiao Ni wrote:
> > This case trys to allow raid5 reshape to use backwards direction.
> > It changes chunksize after reshape and stop the raid. Then start
> > the raid again.
> >
> > Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
> > Suggested-by:  Jes Sorensen <jes.sorensen@xxxxxxxxx>
> > Suggested-by:  Zhilong Liu <zlliu@xxxxxxxx>
> > ---
> >   test           |  8 ++++++++
> >   tests/02r5grow | 16 ++++++++++++++++
> >   2 files changed, 24 insertions(+)
> >
> > diff --git a/test b/test
> > index 87e2df2..51da2dc 100755
> > --- a/test
> > +++ b/test
> > @@ -320,6 +320,14 @@ check() {
> >   		grep -sq "inactive" /proc/mdstat ||
> >   			die "array is not inactive!"
> >   		;;
> > +	# It only can be used when there is only one raid
> > +	chunk )
> > +		chunk_size=`cat /proc/mdstat  | awk -F',' '/chunk/{print $2}' | awk
> > '{print $1}' | sed s/k//g`
> 
> Hi,
>    only from my opinion, how about shrink the command:
> # awk -F',' '/chunk/{print $2}' /proc/mdstat | awk -F'[a-z]' '{print $1}'
> > +		if [ $chunk_size -ne $2 ]; then
> > +			echo >&2 "chunksize is not right"
> > +			exit 1
> > +		fi

Yes, you are a shell expert :)

> 
> how about using the func die()
> [  "$chunk_size" -ne "$2" ] &&
>    die "chunk should be $2, but is $chunk_size"

I tried this and did a simple test. It gave a error:
[root@dell-per210-01 mdadm]# ./test --tests=02r5grow
Testing on linux-3.10.0-685.el7.x86_64 kernel
tests/02r5grow... FAILED - see /var/tmp/02r5grow.log and /var/tmp/fail02r5grow.log for details
./test: line 80: [: too many arguments

It was introduced by this 20d10b4b. It looks like the check have errors:
if [ ! -z ${array[@]} -a ${#array[@]} -ge 1 ]


Regards
Xiao
> 
> Thanks,
> -Zhilong
> 
> > +		;;
> >   	* )
> >   		die "unknown check $1"
> >   		;;
> > diff --git a/tests/02r5grow b/tests/02r5grow
> > index 386e82e..20db4cd 100644
> > --- a/tests/02r5grow
> > +++ b/tests/02r5grow
> > @@ -34,3 +34,19 @@ check nosync
> >   sh tests/testdev $md0 3 $[size/2] 128
> >   
> >   mdadm -S $md0
> > +
> > +# create a raid5 array and change the chunk
> > +mdadm -CR $md0 --level raid5 --metadata=1.1 --chunk=32 --raid-disks 3
> > --size $[size/2] $dev1 $dev2 $dev3
> > +check wait
> > +check state UUU
> > +check chunk 32
> > +
> > +mdadm $md0 --grow --chunk=64
> > +check reshape
> > +check wait
> > +check chunk 64
> > +
> > +mdadm -S $md0
> > +mdadm -As
> > +check state UUU
> > +check chunk 64
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux