From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Ni Subject: Re: [PATCH -v3 1/1] mdadm/test: Add one test case for raid5 reshape Date: Wed, 19 Jul 2017 01:54:13 -0400 (EDT) Message-ID: <571877982.32043460.1500443653100.JavaMail.zimbra@redhat.com> References: <1500368140-23563-1-git-send-email-xni@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-raid-owner@vger.kernel.org To: Zhilong Liu Cc: linux-raid@vger.kernel.org, jes sorensen List-Id: linux-raid.ids ----- Original Message ----- > From: "Zhilong Liu" > To: "Xiao Ni" , linux-raid@vger.kernel.org > Cc: "jes sorensen" > 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 > > Suggested-by: Jes Sorensen > > Suggested-by: Zhilong Liu > > --- > > 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@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >