Blame SOURCES/0046-tests-00readonly-Run-udevadm-settle-before-setting-r.patch

b33395
From 39b381252c32275079344d30de18b76fda4bba26 Mon Sep 17 00:00:00 2001
b33395
From: Logan Gunthorpe <logang@deltatee.com>
b33395
Date: Wed, 27 Jul 2022 15:52:45 -0600
2ad819
Subject: [PATCH 46/83] tests/00readonly: Run udevadm settle before setting ro
b33395
b33395
In some recent kernel versions, 00readonly fails with:
b33395
b33395
  mdadm: failed to set readonly for /dev/md0: Device or resource busy
b33395
  ERROR: array is not read-only!
b33395
b33395
This was traced down to a race condition with udev holding a reference
b33395
to the block device at the same time as trying to set it read only.
b33395
b33395
To fix this, call udevadm settle before setting the array read only.
b33395
b33395
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
b33395
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
b33395
---
b33395
 tests/00readonly | 1 +
b33395
 1 file changed, 1 insertion(+)
b33395
b33395
diff --git a/tests/00readonly b/tests/00readonly
b33395
index 39202487..afe243b3 100644
b33395
--- a/tests/00readonly
b33395
+++ b/tests/00readonly
b33395
@@ -12,6 +12,7 @@ do
b33395
 			$dev1 $dev2 $dev3 $dev4 --assume-clean
b33395
 		check nosync
b33395
 		check $level
b33395
+		udevadm settle
b33395
 		mdadm -ro $md0
b33395
 		check readonly
b33395
 		state=$(cat /sys/block/md0/md/array_state)
b33395
-- 
2ad819
2.38.1
b33395