* [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3
@ 2013-10-21 16:13 Josef Bacik
2013-10-21 16:15 ` Eric Sandeen
2013-10-22 21:26 ` Rich Johnston
0 siblings, 2 replies; 3+ messages in thread
From: Josef Bacik @ 2013-10-21 16:13 UTC (permalink / raw)
To: linux-btrfs, xfs, sandeen
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@fusionio.com>
---
V2->V3: actually use the lun local variable.
common/rc | 11 ++++++++++-
tests/btrfs/003 | 2 +-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/common/rc b/common/rc
index b253948..b5eb582 100644
--- a/common/rc
+++ b/common/rc
@@ -2093,7 +2093,16 @@ _require_freeze()
# ls -l /sys/class/block/sdd | rev | cut -d "/" -f 3 | rev
_devmgt_remove()
{
- echo 1 > /sys/class/scsi_device/${1}/device/delete || _fail "Remove disk failed"
+ local lun=$1
+ local disk=$2
+
+ echo 1 > /sys/class/scsi_device/${lun}/device/delete || _fail "Remove disk failed"
+
+ stat $disk > /dev/null 2>&1
+ while [ $? -eq 0 ]; do
+ sleep 1
+ stat $disk > /dev/null 2>&1
+ done
}
# arg 1 is dev to add and is output of the below eg.
diff --git a/tests/btrfs/003 b/tests/btrfs/003
index 262b1d5..15c2cc7 100755
--- a/tests/btrfs/003
+++ b/tests/btrfs/003
@@ -142,7 +142,7 @@ _test_replace()
DEVHTL=`ls -l /sys/class/block/${d} | rev | cut -d "/" -f 3 | rev`
#fail disk
- _devmgt_remove ${DEVHTL}
+ _devmgt_remove ${DEVHTL} $ds
dev_removed=1
$BTRFS_UTIL_PROG fi show $SCRATCH_DEV | grep "Some devices missing" >> $seqres.full || _fail \
--
1.8.3.1
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3
2013-10-21 16:13 [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3 Josef Bacik
@ 2013-10-21 16:15 ` Eric Sandeen
2013-10-22 21:26 ` Rich Johnston
1 sibling, 0 replies; 3+ messages in thread
From: Eric Sandeen @ 2013-10-21 16:15 UTC (permalink / raw)
To: Josef Bacik; +Cc: linux-btrfs, xfs
On 10/21/13 11:13 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@fusionio.com>
Reviewed-by: Eric Sandeen <sandeen@redhat.com>
> ---
> V2->V3: actually use the lun local variable.
>
> common/rc | 11 ++++++++++-
> tests/btrfs/003 | 2 +-
> 2 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index b253948..b5eb582 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -2093,7 +2093,16 @@ _require_freeze()
> # ls -l /sys/class/block/sdd | rev | cut -d "/" -f 3 | rev
> _devmgt_remove()
> {
> - echo 1 > /sys/class/scsi_device/${1}/device/delete || _fail "Remove disk failed"
> + local lun=$1
> + local disk=$2
> +
> + echo 1 > /sys/class/scsi_device/${lun}/device/delete || _fail "Remove disk failed"
> +
> + stat $disk > /dev/null 2>&1
> + while [ $? -eq 0 ]; do
> + sleep 1
> + stat $disk > /dev/null 2>&1
> + done
> }
>
> # arg 1 is dev to add and is output of the below eg.
> diff --git a/tests/btrfs/003 b/tests/btrfs/003
> index 262b1d5..15c2cc7 100755
> --- a/tests/btrfs/003
> +++ b/tests/btrfs/003
> @@ -142,7 +142,7 @@ _test_replace()
> DEVHTL=`ls -l /sys/class/block/${d} | rev | cut -d "/" -f 3 | rev`
>
> #fail disk
> - _devmgt_remove ${DEVHTL}
> + _devmgt_remove ${DEVHTL} $ds
> dev_removed=1
>
> $BTRFS_UTIL_PROG fi show $SCRATCH_DEV | grep "Some devices missing" >> $seqres.full || _fail \
>
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3
2013-10-21 16:13 [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3 Josef Bacik
2013-10-21 16:15 ` Eric Sandeen
@ 2013-10-22 21:26 ` Rich Johnston
1 sibling, 0 replies; 3+ messages in thread
From: Rich Johnston @ 2013-10-22 21:26 UTC (permalink / raw)
To: Josef Bacik, linux-btrfs, xfs, sandeen
This has been committed.
Thanks
--Rich
commit 22ebe357198ea2519af6fd7e9082b9ac432631de
Author: Josef Bacik <jbacik@fusionio.com>
Date: Mon Oct 21 16:13:53 2013 +0000
xfstests: stat the dev we're removing to make sure its' really gone
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-10-22 21:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-21 16:13 [PATCH] xfstests: stat the dev we're removing to make sure its' really gone V3 Josef Bacik
2013-10-21 16:15 ` Eric Sandeen
2013-10-22 21:26 ` Rich Johnston
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).