* [PATCH] xfstests: Enhance the scratch dev pool and deletable device check
@ 2014-01-06 9:13 Qu Wenruo
2014-01-06 9:17 ` Qu Wenruo
0 siblings, 1 reply; 2+ messages in thread
From: Qu Wenruo @ 2014-01-06 9:13 UTC (permalink / raw)
To: xfs, linux-btrfs; +Cc: Miao Xie
From: Miao Xie <miaox@cn.fujitsu.com>
From: Miao Xie <miaox@cn.fujitsu.com>
_require_scratch_dev_pool() checks the devices number in
SCRATCH_DEV_POOL, but it's not enough since some btrfs RAID10 tests
needs 4 devices, but when 3 or less devices are provided, the check is
useless and related test case will fail(btrfs/003 btrfs/011 btrfs/023).
Also _require_deletable_scratch_dev_pool only checks whether it is
virtul, like virtio(not including virtio-scsi) disk will pass the check
but is unable to delete.
This patch enhance _require_scratch_dev_pool by add optional $1 as
needed device number to do extra check.
And enhance _require_deletable_scratch_dev_pool by directly check
/sys/class/block/$DEV/device/delete file.
Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
---
common/rc | 22 ++++++++++++++--------
tests/btrfs/003 | 2 +-
tests/btrfs/011 | 2 +-
3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/common/rc b/common/rc
index a2005c9..09644af 100644
--- a/common/rc
+++ b/common/rc
@@ -1927,16 +1927,24 @@ _test_inode_extsz()
_require_scratch_dev_pool()
{
local i
+ local ndevs
+
if [ -z "$SCRATCH_DEV_POOL" ]; then
_notrun "this test requires a valid \$SCRATCH_DEV_POOL"
fi
- # btrfs test case needs 2 or more scratch_dev_pool; other FS not sure
+ if [ -z "$1" ]; then
+ ndevs=2
+ else
+ ndevs=$1
+ fi
+
+ # btrfs test case needs ndevs or more scratch_dev_pool; other FS not sure
# so fail it
case $FSTYP in
btrfs)
- if [ "`echo $SCRATCH_DEV_POOL|wc -w`" -lt 2 ]; then
- _notrun "btrfs and this test needs 2 or more disks in SCRATCH_DEV_POOL"
+ if [ "`echo $SCRATCH_DEV_POOL|wc -w`" -lt $ndevs ]; then
+ _notrun "btrfs and this test needs $ndevs or more disks in SCRATCH_DEV_POOL"
fi
;;
*)
@@ -1963,17 +1971,15 @@ _require_scratch_dev_pool()
done
}
-# We will check if the device is virtual (eg: loop device) since it does not
-# have the delete entry-point. Otherwise SCSI and USB devices are fine.
+# We will check if the device is deletable
_require_deletable_scratch_dev_pool()
{
local i
local x
for i in $SCRATCH_DEV_POOL; do
x=`echo $i | cut -d"/" -f 3`
- ls -l /sys/class/block/${x} | grep -q "virtual"
- if [ $? == "0" ]; then
- _notrun "$i is a virtual device which is not deletable"
+ if [ ! -f /sys/class/block/${x}/device/delete ]; then
+ _notrun "$i is a device which is not deletable"
fi
done
}
diff --git a/tests/btrfs/003 b/tests/btrfs/003
index 9105d06..29f947b 100755
--- a/tests/btrfs/003
+++ b/tests/btrfs/003
@@ -49,7 +49,7 @@ _need_to_be_root
_supported_fs btrfs
_supported_os Linux
_require_scratch
-_require_scratch_dev_pool
+_require_scratch_dev_pool 4
_require_deletable_scratch_dev_pool
_require_command $WIPEFS_PROG
diff --git a/tests/btrfs/011 b/tests/btrfs/011
index 71ff3de..faa0402 100755
--- a/tests/btrfs/011
+++ b/tests/btrfs/011
@@ -62,7 +62,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_need_to_be_root
_supported_fs btrfs
_require_scratch
-_require_scratch_dev_pool
+_require_scratch_dev_pool 4
_require_command $BTRFS_SHOW_SUPER_PROG btrfs-show-super
rm -f $seqres.full
--
1.8.5.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] xfstests: Enhance the scratch dev pool and deletable device check
2014-01-06 9:13 [PATCH] xfstests: Enhance the scratch dev pool and deletable device check Qu Wenruo
@ 2014-01-06 9:17 ` Qu Wenruo
0 siblings, 0 replies; 2+ messages in thread
From: Qu Wenruo @ 2014-01-06 9:17 UTC (permalink / raw)
To: xfs, linux-btrfs
Qu Wenruo 写道:
> From: Miao Xie <miaox@cn.fujitsu.com>
Sorry for the double from line.
I'll resend the patch.
Qu
>
> From: Miao Xie <miaox@cn.fujitsu.com>
>
> _require_scratch_dev_pool() checks the devices number in
> SCRATCH_DEV_POOL, but it's not enough since some btrfs RAID10 tests
> needs 4 devices, but when 3 or less devices are provided, the check is
> useless and related test case will fail(btrfs/003 btrfs/011 btrfs/023).
>
> Also _require_deletable_scratch_dev_pool only checks whether it is
> virtul, like virtio(not including virtio-scsi) disk will pass the check
> but is unable to delete.
>
> This patch enhance _require_scratch_dev_pool by add optional $1 as
> needed device number to do extra check.
> And enhance _require_deletable_scratch_dev_pool by directly check
> /sys/class/block/$DEV/device/delete file.
>
> Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
> Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
> ---
> common/rc | 22 ++++++++++++++--------
> tests/btrfs/003 | 2 +-
> tests/btrfs/011 | 2 +-
> 3 files changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/common/rc b/common/rc
> index a2005c9..09644af 100644
> --- a/common/rc
> +++ b/common/rc
> @@ -1927,16 +1927,24 @@ _test_inode_extsz()
> _require_scratch_dev_pool()
> {
> local i
> + local ndevs
> +
> if [ -z "$SCRATCH_DEV_POOL" ]; then
> _notrun "this test requires a valid \$SCRATCH_DEV_POOL"
> fi
>
> - # btrfs test case needs 2 or more scratch_dev_pool; other FS not sure
> + if [ -z "$1" ]; then
> + ndevs=2
> + else
> + ndevs=$1
> + fi
> +
> + # btrfs test case needs ndevs or more scratch_dev_pool; other FS not sure
> # so fail it
> case $FSTYP in
> btrfs)
> - if [ "`echo $SCRATCH_DEV_POOL|wc -w`" -lt 2 ]; then
> - _notrun "btrfs and this test needs 2 or more disks in SCRATCH_DEV_POOL"
> + if [ "`echo $SCRATCH_DEV_POOL|wc -w`" -lt $ndevs ]; then
> + _notrun "btrfs and this test needs $ndevs or more disks in SCRATCH_DEV_POOL"
> fi
> ;;
> *)
> @@ -1963,17 +1971,15 @@ _require_scratch_dev_pool()
> done
> }
>
> -# We will check if the device is virtual (eg: loop device) since it does not
> -# have the delete entry-point. Otherwise SCSI and USB devices are fine.
> +# We will check if the device is deletable
> _require_deletable_scratch_dev_pool()
> {
> local i
> local x
> for i in $SCRATCH_DEV_POOL; do
> x=`echo $i | cut -d"/" -f 3`
> - ls -l /sys/class/block/${x} | grep -q "virtual"
> - if [ $? == "0" ]; then
> - _notrun "$i is a virtual device which is not deletable"
> + if [ ! -f /sys/class/block/${x}/device/delete ]; then
> + _notrun "$i is a device which is not deletable"
> fi
> done
> }
> diff --git a/tests/btrfs/003 b/tests/btrfs/003
> index 9105d06..29f947b 100755
> --- a/tests/btrfs/003
> +++ b/tests/btrfs/003
> @@ -49,7 +49,7 @@ _need_to_be_root
> _supported_fs btrfs
> _supported_os Linux
> _require_scratch
> -_require_scratch_dev_pool
> +_require_scratch_dev_pool 4
> _require_deletable_scratch_dev_pool
> _require_command $WIPEFS_PROG
>
> diff --git a/tests/btrfs/011 b/tests/btrfs/011
> index 71ff3de..faa0402 100755
> --- a/tests/btrfs/011
> +++ b/tests/btrfs/011
> @@ -62,7 +62,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> _need_to_be_root
> _supported_fs btrfs
> _require_scratch
> -_require_scratch_dev_pool
> +_require_scratch_dev_pool 4
> _require_command $BTRFS_SHOW_SUPER_PROG btrfs-show-super
>
> rm -f $seqres.full
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-01-06 9:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-06 9:13 [PATCH] xfstests: Enhance the scratch dev pool and deletable device check Qu Wenruo
2014-01-06 9:17 ` Qu Wenruo
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).