diff mbox series

[blktests] block/011: remove and rescan for evicted device

Message ID 20200922080843.1249290-1-its@irrelevant.dk (mailing list archive)
State New, archived
Headers show
Series [blktests] block/011: remove and rescan for evicted device | expand

Commit Message

Klaus Jensen Sept. 22, 2020, 8:08 a.m. UTC
From: Klaus Jensen <k.jensen@samsung.com>

Devices that actually honor the Bus Master Enable bit and considers the
resulting failure to read/write a fatal error, often ends up getting
disabled by the kernel when running block/011.

Remove the device and rescan the pci bus after completing the test to
make sure we bring the device back up if required.

Cc: Keith Busch <kbusch@kernel.org>
Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
---
 tests/block/011 | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Klaus Jensen Sept. 23, 2020, 6:41 a.m. UTC | #1
On Sep 22 10:08, Klaus Jensen wrote:
> From: Klaus Jensen <k.jensen@samsung.com>
> 
> Devices that actually honor the Bus Master Enable bit and considers the
> resulting failure to read/write a fatal error, often ends up getting
> disabled by the kernel when running block/011.
> 
> Remove the device and rescan the pci bus after completing the test to
> make sure we bring the device back up if required.
> 
> Cc: Keith Busch <kbusch@kernel.org>
> Cc: Johannes Thumshirn <johannes.thumshirn@wdc.com>
> Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
> ---
>  tests/block/011 | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/tests/block/011 b/tests/block/011
> index 4f331b4a7522..f1306ae3896f 100755
> --- a/tests/block/011
> +++ b/tests/block/011
> @@ -22,6 +22,7 @@ test_device() {
>  	echo "Running ${TEST_NAME}"
>  
>  	pdev="$(_get_pci_dev_from_blkdev)"
> +	sysfs="/sys/bus/pci/devices/${pdev}"
>  
>  	if _test_dev_is_rotational; then
>  		size="32m"
> @@ -42,4 +43,8 @@ test_device() {
>  	done
>  
>  	echo "Test complete"
> +
> +	# bring the device back up if it was disabled by the kernel
> +	echo 1 > "${sysfs}/remove"
> +	echo 1 > /sys/bus/pci/rescan
>  }
> -- 
> 2.28.0
> 

Hmfh. Looks like this at least needs a wait for TEST_DEV being back or
something. Please disregard this patch for now as I try out some other
work arounds.
diff mbox series

Patch

diff --git a/tests/block/011 b/tests/block/011
index 4f331b4a7522..f1306ae3896f 100755
--- a/tests/block/011
+++ b/tests/block/011
@@ -22,6 +22,7 @@  test_device() {
 	echo "Running ${TEST_NAME}"
 
 	pdev="$(_get_pci_dev_from_blkdev)"
+	sysfs="/sys/bus/pci/devices/${pdev}"
 
 	if _test_dev_is_rotational; then
 		size="32m"
@@ -42,4 +43,8 @@  test_device() {
 	done
 
 	echo "Test complete"
+
+	# bring the device back up if it was disabled by the kernel
+	echo 1 > "${sysfs}/remove"
+	echo 1 > /sys/bus/pci/rescan
 }