Re: [MDADM PATCH] A sanity check for missing device

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

 



On 02/08/2018 02:20 AM, Xiao Ni wrote:
> 
> 
> ----- Original Message -----
>> From: "Jes Sorensen" <jes.sorensen@xxxxxxxxx>
>> To: "Xiao Ni" <xni@xxxxxxxxxx>, linux-raid@xxxxxxxxxxxxxxx
>> Sent: Thursday, February 8, 2018 3:53:15 AM
>> Subject: Re: [MDADM PATCH] A sanity check for missing device
>>
>> On 02/01/2018 10:57 PM, Xiao Ni wrote:
>>> If we don't check the number of missing devices and create raid device
>>> with all missing devices, it gives the error message:
>>> [root@storageqe-15 mdadm]# ./test --tests=00raid1
>>> Testing on linux-3.10.0-830.el7.x86_64 kernel
>>> tests/00raid1...
>>> ERROR: dmesg prints errors when testing 00raid1!
>>>
>>> FAILED - see /var/tmp/00raid1.log and /var/tmp/fail00raid1.log for details
>>>
>>> After checking the missing devices number, the test case can pass. And it
>>> gives a error log in log file:
>>> ++ /root/mdadm/mdadm --quiet -CR /dev/md0 -l 1 -n2 missing missing
>>> --auto=yes
>>> ++ rv=1
>>> ++ case  in
>>> ++ cat /var/tmp/stderr
>>> mdadm: Subdevs can't be all missing
>>>
>>> Signed-off-by: Xiao Ni <xni@xxxxxxxxxx>
>>> ---
>>>  tests/00raid1 | 3 +++
>>>  1 file changed, 3 insertions(+)
>>>
>>> diff --git a/tests/00raid1 b/tests/00raid1
>>> index c93465d..752bbbf 100644
>>> --- a/tests/00raid1
>>> +++ b/tests/00raid1
>>> @@ -3,6 +3,9 @@
>>>  # test version0, version1, and no super
>>>  # test resync and recovery.
>>>  
>>> +# It's just a sanity check. This command shouldn't run successfully
>>> +mdadm -CR $md0 -l 1 -n2 missing missing
>>> +
>>>  mdadm -CR $md0 -l 1 -n2 $dev0 $dev1
>>>  check resync
>>>  check raid1
>>
>> I think we need to test the opposite here - the test shouldn't report an
>> error in the log, but rather success if this sanity test passes.
> 
> Hi Jes
> 
> Is it ok like this:
> 
> diff --git a/tests/00raid1 b/tests/00raid1
> index c93465d..f6b8be1 100644
> --- a/tests/00raid1
> +++ b/tests/00raid1
> @@ -3,6 +3,10 @@
>  # test version0, version1, and no super
>  # test resync and recovery.
>  
> +# It's just a sanity check. This command shouldn't run successfully
> +mdadm -CR $md0 -l 1 -n2 missing missing
> +check opposite_result
> +
>  mdadm -CR $md0 -l 1 -n2 $dev0 $dev1
>  check resync
>  check raid1
> diff --git a/tests/func.sh b/tests/func.sh
> index 40c6026..af08b60 100644
> --- a/tests/func.sh
> +++ b/tests/func.sh
> @@ -219,6 +219,10 @@ do_setup() {
>  # check various things
>  check() {
>         case $1 in
> +       opposite_result )
> +               if [ $? -eq 0 ]; then
> +                       die "This command shouldn't run successfully"
> +               fi
>         spares )
>                 spares=$(tr '] ' '\012\012' < /proc/mdstat | grep -c '(S)' || exit 0)
>                 [ $spares -ne $2 ] &&

Hi Xiao,

Yeah that should be fine!

Cheers,
Jes
--
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