All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] fstest: btrfs/196: test for alien btrfs-devices
@ 2019-10-07  9:41 Anand Jain
  2019-10-07  9:41 ` [PATCH 2/2] fstest: btrfs/197: test for alien devices Anand Jain
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Anand Jain @ 2019-10-07  9:41 UTC (permalink / raw)
  To: fstests; +Cc: linux-btrfs

Test if btrfs.ko sucessfully identifies and reports the missing device,
if the missed device contians someother btrfs.

Signed-off-by: Anand Jain <anand.jain@oracle.com>
---
 tests/btrfs/196     | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/btrfs/196.out | 25 +++++++++++++++++
 tests/btrfs/group   |  1 +
 3 files changed, 103 insertions(+)
 create mode 100755 tests/btrfs/196
 create mode 100644 tests/btrfs/196.out

diff --git a/tests/btrfs/196 b/tests/btrfs/196
new file mode 100755
index 000000000000..e35cdce492e5
--- /dev/null
+++ b/tests/btrfs/196
@@ -0,0 +1,77 @@
+#! /bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (c) 2019 Oracle.  All Rights Reserved.
+#
+# FS QA Test 196
+#
+# Test stale and alien btrfs-device in the fs devices list.
+#
+seq=`basename $0`
+seqres=$RESULT_DIR/$seq
+echo "QA output created by $seq"
+
+here=`pwd`
+tmp=/tmp/$$
+status=1	# failure is the default!
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+	cd /
+	rm -f $tmp.*
+}
+
+# get standard environment, filters and checks
+. ./common/rc
+. ./common/filter
+. ./common/filter.btrfs
+
+# remove previous $seqres.full before test
+rm -f $seqres.full
+
+# real QA test starts here
+
+# Modify as appropriate.
+_supported_fs generic
+_supported_os Linux
+_require_scratch
+_require_scratch_dev_pool 4
+
+workout()
+{
+	raid=$1
+	device_nr=$2
+
+	echo $raid
+	_scratch_dev_pool_get $device_nr
+
+	_scratch_pool_mkfs "-d$raid -m$raid" >> $seqres.full 2>&1 || \
+							_fail "mkfs failed"
+
+	# Make device_1 an alien btrfs device for the raid created above by
+	# adding it to the $TEST_DIR
+
+	# don't test with the first device as auto fs check (_check_scratch_fs)
+	# picks the first device
+	device_1=$(echo $SCRATCH_DEV_POOL | awk '{print $2}')
+	$BTRFS_UTIL_PROG device add -f "$device_1" "$TEST_DIR"
+
+	device_2=$(echo $SCRATCH_DEV_POOL | awk '{print $1}')
+	_mount -o degraded $device_2 $SCRATCH_MNT
+	# Check if missing device is reported as in the 196.out
+	$BTRFS_UTIL_PROG filesystem show -m $SCRATCH_MNT | \
+						_filter_btrfs_filesystem_show
+
+	$BTRFS_UTIL_PROG device remove "$device_1" "$TEST_DIR"
+	_scratch_unmount
+	_scratch_dev_pool_put
+}
+
+workout "raid1" "2"
+workout "raid5" "3"
+workout "raid6" "4"
+workout "raid10" "4"
+
+# success, all done
+status=0
+exit
diff --git a/tests/btrfs/196.out b/tests/btrfs/196.out
new file mode 100644
index 000000000000..311ae9e2f46a
--- /dev/null
+++ b/tests/btrfs/196.out
@@ -0,0 +1,25 @@
+QA output created by 196
+raid1
+Label: none  uuid: <UUID>
+	Total devices <NUM> FS bytes used <SIZE>
+	devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
+	*** Some devices missing
+
+raid5
+Label: none  uuid: <UUID>
+	Total devices <NUM> FS bytes used <SIZE>
+	devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
+	*** Some devices missing
+
+raid6
+Label: none  uuid: <UUID>
+	Total devices <NUM> FS bytes used <SIZE>
+	devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
+	*** Some devices missing
+
+raid10
+Label: none  uuid: <UUID>
+	Total devices <NUM> FS bytes used <SIZE>
+	devid <DEVID> size <SIZE> used <SIZE> path SCRATCH_DEV
+	*** Some devices missing
+
diff --git a/tests/btrfs/group b/tests/btrfs/group
index 3ce6fa4628d8..c86ea2516397 100644
--- a/tests/btrfs/group
+++ b/tests/btrfs/group
@@ -198,3 +198,4 @@
 193 auto quick qgroup enospc limit
 194 auto volume
 195 auto volume
+196 auto quick volume
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-10-22  9:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-07  9:41 [PATCH 1/2] fstest: btrfs/196: test for alien btrfs-devices Anand Jain
2019-10-07  9:41 ` [PATCH 2/2] fstest: btrfs/197: test for alien devices Anand Jain
2019-10-18  9:13   ` Eryu Guan
2019-10-22  9:23     ` Anand Jain
2019-10-18  9:10 ` [PATCH 1/2] fstest: btrfs/196: test for alien btrfs-devices Eryu Guan
2019-10-22  9:23   ` Anand Jain
2019-10-22  9:24 ` [PATCH v2 1/2] fstest: btrfs/197: " Anand Jain
2019-10-22  9:24   ` [PATCH v2 2/2] fstest: btrfs/198: test for alien devices Anand Jain

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.