From: Qu Wenruo <quwenruo@cn.fujitsu.com> To: xfs@oss.sgi.com, linux-btrfs@vger.kernel.org Cc: Miao Xie <miaox@cn.fujitsu.com> Subject: [PATCH] xfstests: Enhance the scratch dev pool and deletable device check Date: Mon, 6 Jan 2014 17:13:18 +0800 [thread overview] Message-ID: <1388999598-17058-1-git-send-email-quwenruo@cn.fujitsu.com> (raw) 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
WARNING: multiple messages have this Message-ID (diff)
From: Qu Wenruo <quwenruo@cn.fujitsu.com> To: xfs@oss.sgi.com, linux-btrfs@vger.kernel.org Cc: Miao Xie <miaox@cn.fujitsu.com> Subject: [PATCH] xfstests: Enhance the scratch dev pool and deletable device check Date: Mon, 6 Jan 2014 17:13:18 +0800 [thread overview] Message-ID: <1388999598-17058-1-git-send-email-quwenruo@cn.fujitsu.com> (raw) 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 _______________________________________________ xfs mailing list xfs@oss.sgi.com http://oss.sgi.com/mailman/listinfo/xfs
next reply other threads:[~2014-01-06 9:12 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-01-06 9:13 Qu Wenruo [this message] 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 2014-01-06 9:17 ` Qu Wenruo
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1388999598-17058-1-git-send-email-quwenruo@cn.fujitsu.com \ --to=quwenruo@cn.fujitsu.com \ --cc=linux-btrfs@vger.kernel.org \ --cc=miaox@cn.fujitsu.com \ --cc=xfs@oss.sgi.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.