xfs
[Top] [All Lists]

Re: [PATCH] xfstests: btrfs/003: stat the dev we're removing to make sur

To: Josef Bacik <jbacik@xxxxxxxxxxxx>
Subject: Re: [PATCH] xfstests: btrfs/003: stat the dev we're removing to make sure its' really gone
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 21 Aug 2013 11:44:47 -0500
Cc: linux-btrfs@xxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <1377101015-3070-1-git-send-email-jbacik@xxxxxxxxxxxx>
References: <1377101015-3070-1-git-send-email-jbacik@xxxxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
On 8/21/13 11:03 AM, Josef Bacik wrote:
> I've been periodically failing btrfs/003 because my box sometimes takes a 
> little
> longer to unregister the device when we remove it and so the output from btrfs
> dev show doesn't match what we are wanting since it still sees the device.  To
> fix this just stat and sleep if we still see the device node and only continue
> once udev or whatever actually removes the device node so that we don't get
> random failures.  Thanks,
> 
> Signed-off-by: Josef Bacik <jbacik@xxxxxxxxxxxx>
> ---
>  tests/btrfs/003 |    6 ++++++
>  1 files changed, 6 insertions(+), 0 deletions(-)
> 
> diff --git a/tests/btrfs/003 b/tests/btrfs/003
> index 5c88651..dba1a32 100755
> --- a/tests/btrfs/003
> +++ b/tests/btrfs/003
> @@ -145,6 +145,12 @@ _test_replace()
>       _devmgt_remove ${DEVHTL}
>       dev_removed=1
>  

This should probably go into _devmgt_remove,
and possibly the reverse in _devmgmt_add as well, with
a comment explaining what it's doing?

Otherwise someone else will run into the same problem down the line.

-Eric

> +     stat $ds >> $seqres.full 2>&1
> +     while [ $? -eq 0 ]; do
> +             sleep 1
> +             stat $ds >> $seqres.full 2>&1
> +     done
> +
>       $BTRFS_UTIL_PROG fi show $SCRATCH_DEV | grep "Some devices missing" >> 
> $seqres.full || _fail \
>                                                       "btrfs did not report 
> device missing"
>  

<Prev in Thread] Current Thread [Next in Thread>