* [PULL 0/4] Block patches for 7.0-rc2
@ 2022-03-29 14:58 Hanna Reitz
2022-03-29 14:58 ` [PULL 1/4] iotests: update test owner contact information Hanna Reitz
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Hanna Reitz @ 2022-03-29 14:58 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, Hanna Reitz, qemu-devel
The following changes since commit 44064550d98a680e2ff55fdd783ac19d850ac8ca:
Merge tag 'darwin-20220329' of https://github.com/philmd/qemu into staging (2022-03-29 15:17:53 +0100)
are available in the Git repository at:
https://gitlab.com/hreitz/qemu.git tags/pull-block-2022-03-29
for you to fetch changes up to d5699c0d4b29e919b87049d948a30527897b7e8a:
iotests: Fix status checks (2022-03-29 16:30:55 +0200)
----------------------------------------------------------------
Block patches for 7.0-rc2:
- Disable GLOBAL_STATE_CODE() assertion for the 7.0 release: We got
another bug report for this, and we do not have the time to
investigate before 7.0, so disable the assertion for the release, to
re-enable and continue investigation in the 7.1 cycle
- stream job fix (regarding interaction with concurrent block jobs)
- iotests fixes
----------------------------------------------------------------
Hanna Reitz (3):
main-loop: Disable GLOBAL_STATE_CODE() assertions
block/stream: Drain subtree around graph change
iotests: Fix status checks
John Snow (1):
iotests: update test owner contact information
include/qemu/main-loop.h | 3 ++-
block/stream.c | 15 ++++++++++++++-
tests/qemu-iotests/025 | 2 +-
tests/qemu-iotests/027 | 2 +-
tests/qemu-iotests/028 | 2 +-
tests/qemu-iotests/030 | 30 +++++++++++++++++++++++++-----
tests/qemu-iotests/036 | 2 +-
tests/qemu-iotests/039 | 2 +-
tests/qemu-iotests/041 | 26 +++++++++++++++++++-------
tests/qemu-iotests/059 | 2 +-
tests/qemu-iotests/060 | 2 +-
tests/qemu-iotests/061 | 2 +-
tests/qemu-iotests/062 | 2 +-
tests/qemu-iotests/064 | 2 +-
tests/qemu-iotests/066 | 2 +-
tests/qemu-iotests/068 | 2 +-
tests/qemu-iotests/069 | 2 +-
tests/qemu-iotests/070 | 2 +-
tests/qemu-iotests/071 | 2 +-
tests/qemu-iotests/072 | 2 +-
tests/qemu-iotests/074 | 2 +-
tests/qemu-iotests/084 | 2 +-
tests/qemu-iotests/085 | 2 +-
tests/qemu-iotests/089 | 2 +-
tests/qemu-iotests/090 | 2 +-
tests/qemu-iotests/091 | 2 +-
tests/qemu-iotests/094 | 2 +-
tests/qemu-iotests/095 | 2 +-
tests/qemu-iotests/097 | 2 +-
tests/qemu-iotests/098 | 2 +-
tests/qemu-iotests/099 | 2 +-
tests/qemu-iotests/102 | 2 +-
tests/qemu-iotests/103 | 2 +-
tests/qemu-iotests/105 | 2 +-
tests/qemu-iotests/106 | 2 +-
tests/qemu-iotests/107 | 2 +-
tests/qemu-iotests/108 | 2 +-
tests/qemu-iotests/110 | 2 +-
tests/qemu-iotests/111 | 2 +-
tests/qemu-iotests/112 | 2 +-
tests/qemu-iotests/113 | 2 +-
tests/qemu-iotests/115 | 2 +-
tests/qemu-iotests/117 | 2 +-
tests/qemu-iotests/119 | 2 +-
tests/qemu-iotests/120 | 2 +-
tests/qemu-iotests/121 | 2 +-
tests/qemu-iotests/123 | 2 +-
tests/qemu-iotests/125 | 2 +-
tests/qemu-iotests/126 | 2 +-
tests/qemu-iotests/127 | 2 +-
tests/qemu-iotests/135 | 2 +-
tests/qemu-iotests/138 | 2 +-
tests/qemu-iotests/140 | 2 +-
tests/qemu-iotests/141 | 2 +-
tests/qemu-iotests/143 | 2 +-
tests/qemu-iotests/144 | 2 +-
tests/qemu-iotests/146 | 2 +-
tests/qemu-iotests/150 | 2 +-
tests/qemu-iotests/153 | 2 +-
tests/qemu-iotests/156 | 2 +-
tests/qemu-iotests/162 | 2 +-
tests/qemu-iotests/173 | 2 +-
tests/qemu-iotests/176 | 2 +-
tests/qemu-iotests/182 | 2 +-
tests/qemu-iotests/192 | 2 +-
tests/qemu-iotests/200 | 2 +-
tests/qemu-iotests/216 | 2 +-
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/224 | 2 +-
tests/qemu-iotests/225 | 2 +-
tests/qemu-iotests/228 | 2 +-
tests/qemu-iotests/229 | 2 +-
tests/qemu-iotests/231 | 2 +-
tests/qemu-iotests/250 | 2 +-
tests/qemu-iotests/251 | 2 +-
tests/qemu-iotests/252 | 2 +-
tests/qemu-iotests/258 | 2 +-
tests/qemu-iotests/259 | 2 +-
tests/qemu-iotests/261 | 2 +-
tests/qemu-iotests/310 | 2 +-
80 files changed, 136 insertions(+), 90 deletions(-)
--
2.35.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PULL 1/4] iotests: update test owner contact information
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
@ 2022-03-29 14:58 ` Hanna Reitz
2022-03-29 14:58 ` [PULL 2/4] main-loop: Disable GLOBAL_STATE_CODE() assertions Hanna Reitz
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Hanna Reitz @ 2022-03-29 14:58 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, Hanna Reitz, qemu-devel
From: John Snow <jsnow@redhat.com>
Quite a few of these tests have stale contact information. This patch
updates the stale ones that I happen to be aware of at the moment.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20220322174212.1169630-1-jsnow@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
tests/qemu-iotests/025 | 2 +-
tests/qemu-iotests/027 | 2 +-
tests/qemu-iotests/028 | 2 +-
tests/qemu-iotests/036 | 2 +-
tests/qemu-iotests/039 | 2 +-
tests/qemu-iotests/059 | 2 +-
tests/qemu-iotests/060 | 2 +-
tests/qemu-iotests/061 | 2 +-
tests/qemu-iotests/062 | 2 +-
tests/qemu-iotests/064 | 2 +-
tests/qemu-iotests/066 | 2 +-
tests/qemu-iotests/068 | 2 +-
tests/qemu-iotests/069 | 2 +-
tests/qemu-iotests/070 | 2 +-
tests/qemu-iotests/071 | 2 +-
tests/qemu-iotests/072 | 2 +-
tests/qemu-iotests/074 | 2 +-
tests/qemu-iotests/084 | 2 +-
tests/qemu-iotests/085 | 2 +-
tests/qemu-iotests/089 | 2 +-
tests/qemu-iotests/090 | 2 +-
tests/qemu-iotests/091 | 2 +-
tests/qemu-iotests/094 | 2 +-
tests/qemu-iotests/095 | 2 +-
tests/qemu-iotests/097 | 2 +-
tests/qemu-iotests/098 | 2 +-
tests/qemu-iotests/099 | 2 +-
tests/qemu-iotests/102 | 2 +-
tests/qemu-iotests/103 | 2 +-
tests/qemu-iotests/105 | 2 +-
tests/qemu-iotests/106 | 2 +-
tests/qemu-iotests/107 | 2 +-
tests/qemu-iotests/108 | 2 +-
tests/qemu-iotests/110 | 2 +-
tests/qemu-iotests/111 | 2 +-
tests/qemu-iotests/112 | 2 +-
tests/qemu-iotests/113 | 2 +-
tests/qemu-iotests/115 | 2 +-
tests/qemu-iotests/117 | 2 +-
tests/qemu-iotests/119 | 2 +-
tests/qemu-iotests/120 | 2 +-
tests/qemu-iotests/121 | 2 +-
tests/qemu-iotests/123 | 2 +-
tests/qemu-iotests/125 | 2 +-
tests/qemu-iotests/126 | 2 +-
tests/qemu-iotests/127 | 2 +-
tests/qemu-iotests/135 | 2 +-
tests/qemu-iotests/138 | 2 +-
tests/qemu-iotests/140 | 2 +-
tests/qemu-iotests/141 | 2 +-
tests/qemu-iotests/143 | 2 +-
tests/qemu-iotests/144 | 2 +-
tests/qemu-iotests/146 | 2 +-
tests/qemu-iotests/150 | 2 +-
tests/qemu-iotests/153 | 2 +-
tests/qemu-iotests/156 | 2 +-
tests/qemu-iotests/162 | 2 +-
tests/qemu-iotests/173 | 2 +-
tests/qemu-iotests/176 | 2 +-
tests/qemu-iotests/182 | 2 +-
tests/qemu-iotests/192 | 2 +-
tests/qemu-iotests/200 | 2 +-
tests/qemu-iotests/216 | 2 +-
tests/qemu-iotests/218 | 2 +-
tests/qemu-iotests/224 | 2 +-
tests/qemu-iotests/225 | 2 +-
tests/qemu-iotests/228 | 2 +-
tests/qemu-iotests/229 | 2 +-
tests/qemu-iotests/231 | 2 +-
tests/qemu-iotests/250 | 2 +-
tests/qemu-iotests/251 | 2 +-
tests/qemu-iotests/252 | 2 +-
tests/qemu-iotests/258 | 2 +-
tests/qemu-iotests/259 | 2 +-
tests/qemu-iotests/261 | 2 +-
tests/qemu-iotests/310 | 2 +-
76 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/tests/qemu-iotests/025 b/tests/qemu-iotests/025
index 80686a30d5..5771ea9200 100755
--- a/tests/qemu-iotests/025
+++ b/tests/qemu-iotests/025
@@ -20,7 +20,7 @@
#
# creator
-owner=stefanha@linux.vnet.ibm.com
+owner=stefanha@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/027 b/tests/qemu-iotests/027
index b279c88f33..24c93627bb 100755
--- a/tests/qemu-iotests/027
+++ b/tests/qemu-iotests/027
@@ -20,7 +20,7 @@
#
# creator
-owner=stefanha@linux.vnet.ibm.com
+owner=stefanha@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/028 b/tests/qemu-iotests/028
index 8c391f2adc..2b232c4614 100755
--- a/tests/qemu-iotests/028
+++ b/tests/qemu-iotests/028
@@ -23,7 +23,7 @@
#
# creator
-owner=stefanha@linux.vnet.ibm.com
+owner=stefanha@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036
index f703605e44..16a401985c 100755
--- a/tests/qemu-iotests/036
+++ b/tests/qemu-iotests/036
@@ -23,7 +23,7 @@
#
# creator
-owner=stefanha@linux.vnet.ibm.com
+owner=stefanha@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/039 b/tests/qemu-iotests/039
index 00d379cde2..e43e7026ce 100755
--- a/tests/qemu-iotests/039
+++ b/tests/qemu-iotests/039
@@ -23,7 +23,7 @@
#
# creator
-owner=stefanha@linux.vnet.ibm.com
+owner=stefanha@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/059 b/tests/qemu-iotests/059
index 65c0c32b26..e8be217e1f 100755
--- a/tests/qemu-iotests/059
+++ b/tests/qemu-iotests/059
@@ -20,7 +20,7 @@
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060
index df87d600f7..5cd21a6f68 100755
--- a/tests/qemu-iotests/060
+++ b/tests/qemu-iotests/060
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/061 b/tests/qemu-iotests/061
index 513fbec14c..509ad247cd 100755
--- a/tests/qemu-iotests/061
+++ b/tests/qemu-iotests/061
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/062 b/tests/qemu-iotests/062
index 321252298d..6a71bf1477 100755
--- a/tests/qemu-iotests/062
+++ b/tests/qemu-iotests/062
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/064 b/tests/qemu-iotests/064
index 71fc575b21..21e25cf39f 100755
--- a/tests/qemu-iotests/064
+++ b/tests/qemu-iotests/064
@@ -20,7 +20,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/066 b/tests/qemu-iotests/066
index a780ed7ab5..cf63144cb9 100755
--- a/tests/qemu-iotests/066
+++ b/tests/qemu-iotests/066
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/068 b/tests/qemu-iotests/068
index 54e49c8ffa..7ecd247409 100755
--- a/tests/qemu-iotests/068
+++ b/tests/qemu-iotests/068
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/069 b/tests/qemu-iotests/069
index 222dcba741..6647e11861 100755
--- a/tests/qemu-iotests/069
+++ b/tests/qemu-iotests/069
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/070 b/tests/qemu-iotests/070
index b181e00f9b..edb71afbe3 100755
--- a/tests/qemu-iotests/070
+++ b/tests/qemu-iotests/070
@@ -21,7 +21,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071
index d99cef5a42..27bc7305bf 100755
--- a/tests/qemu-iotests/071
+++ b/tests/qemu-iotests/071
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/072 b/tests/qemu-iotests/072
index c492ab8a78..662ede961c 100755
--- a/tests/qemu-iotests/072
+++ b/tests/qemu-iotests/072
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/074 b/tests/qemu-iotests/074
index c32c94b50d..ee73e636b2 100755
--- a/tests/qemu-iotests/074
+++ b/tests/qemu-iotests/074
@@ -21,7 +21,7 @@
##
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/084 b/tests/qemu-iotests/084
index e51e91a7c8..1181cb7cd0 100755
--- a/tests/qemu-iotests/084
+++ b/tests/qemu-iotests/084
@@ -21,7 +21,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/085 b/tests/qemu-iotests/085
index de74262a26..3fb7b0b5c8 100755
--- a/tests/qemu-iotests/085
+++ b/tests/qemu-iotests/085
@@ -25,7 +25,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/089 b/tests/qemu-iotests/089
index 48bdc42e42..c68c5a66b9 100755
--- a/tests/qemu-iotests/089
+++ b/tests/qemu-iotests/089
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/090 b/tests/qemu-iotests/090
index 2044c09e9b..8f88eea9aa 100755
--- a/tests/qemu-iotests/090
+++ b/tests/qemu-iotests/090
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/091 b/tests/qemu-iotests/091
index 9d144b9439..e396748a91 100755
--- a/tests/qemu-iotests/091
+++ b/tests/qemu-iotests/091
@@ -22,7 +22,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/094 b/tests/qemu-iotests/094
index a295fb20ef..4766e9a458 100755
--- a/tests/qemu-iotests/094
+++ b/tests/qemu-iotests/094
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/095 b/tests/qemu-iotests/095
index 20b5f9bf61..d1d347eb1f 100755
--- a/tests/qemu-iotests/095
+++ b/tests/qemu-iotests/095
@@ -23,7 +23,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/097 b/tests/qemu-iotests/097
index 30313f8867..93857f4fd0 100755
--- a/tests/qemu-iotests/097
+++ b/tests/qemu-iotests/097
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/098 b/tests/qemu-iotests/098
index 4c37eb0cf5..e3eadb3296 100755
--- a/tests/qemu-iotests/098
+++ b/tests/qemu-iotests/098
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/099 b/tests/qemu-iotests/099
index 2f1199ce04..a5d2d30931 100755
--- a/tests/qemu-iotests/099
+++ b/tests/qemu-iotests/099
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/102 b/tests/qemu-iotests/102
index 8b4c4c905f..141bfe1e90 100755
--- a/tests/qemu-iotests/102
+++ b/tests/qemu-iotests/102
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/103 b/tests/qemu-iotests/103
index 726f8313ef..bb9fd6f650 100755
--- a/tests/qemu-iotests/103
+++ b/tests/qemu-iotests/103
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/105 b/tests/qemu-iotests/105
index d804685110..b8f2029f62 100755
--- a/tests/qemu-iotests/105
+++ b/tests/qemu-iotests/105
@@ -20,7 +20,7 @@
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/106 b/tests/qemu-iotests/106
index 333144502c..9d6adb542d 100755
--- a/tests/qemu-iotests/106
+++ b/tests/qemu-iotests/106
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/107 b/tests/qemu-iotests/107
index e68f1e07c7..3fabff2791 100755
--- a/tests/qemu-iotests/107
+++ b/tests/qemu-iotests/107
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/108 b/tests/qemu-iotests/108
index 8eaef0b8bf..56339ab2c5 100755
--- a/tests/qemu-iotests/108
+++ b/tests/qemu-iotests/108
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110
index 1fa36ccdb7..91b15f7513 100755
--- a/tests/qemu-iotests/110
+++ b/tests/qemu-iotests/110
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/111 b/tests/qemu-iotests/111
index 3ba25f6161..382dbf0606 100755
--- a/tests/qemu-iotests/111
+++ b/tests/qemu-iotests/111
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/112 b/tests/qemu-iotests/112
index 5333212993..a2ffc96e60 100755
--- a/tests/qemu-iotests/112
+++ b/tests/qemu-iotests/112
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/113 b/tests/qemu-iotests/113
index ee59b9a4b8..a3ad208fd7 100755
--- a/tests/qemu-iotests/113
+++ b/tests/qemu-iotests/113
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/115 b/tests/qemu-iotests/115
index 26dd37dd6d..7a24070caa 100755
--- a/tests/qemu-iotests/115
+++ b/tests/qemu-iotests/115
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/117 b/tests/qemu-iotests/117
index 48ebc012b1..6081473584 100755
--- a/tests/qemu-iotests/117
+++ b/tests/qemu-iotests/117
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/119 b/tests/qemu-iotests/119
index 5770b50045..6cac8793ba 100755
--- a/tests/qemu-iotests/119
+++ b/tests/qemu-iotests/119
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/120 b/tests/qemu-iotests/120
index 7187731253..ac7bd8c4e3 100755
--- a/tests/qemu-iotests/120
+++ b/tests/qemu-iotests/120
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/121 b/tests/qemu-iotests/121
index ba3d8d9377..f0dd1d1114 100755
--- a/tests/qemu-iotests/121
+++ b/tests/qemu-iotests/121
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/123 b/tests/qemu-iotests/123
index e19111f70d..4d34a2ac49 100755
--- a/tests/qemu-iotests/123
+++ b/tests/qemu-iotests/123
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/125 b/tests/qemu-iotests/125
index bd390b3a99..46279d6b38 100755
--- a/tests/qemu-iotests/125
+++ b/tests/qemu-iotests/125
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126
index 92c0547746..d8d2d654f2 100755
--- a/tests/qemu-iotests/126
+++ b/tests/qemu-iotests/126
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
index 32edc3b068..7cc3ce1d78 100755
--- a/tests/qemu-iotests/127
+++ b/tests/qemu-iotests/127
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/135 b/tests/qemu-iotests/135
index 299075b4c9..71125719ee 100755
--- a/tests/qemu-iotests/135
+++ b/tests/qemu-iotests/135
@@ -20,7 +20,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/138 b/tests/qemu-iotests/138
index 951cfa67d4..76628adab7 100755
--- a/tests/qemu-iotests/138
+++ b/tests/qemu-iotests/138
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/140 b/tests/qemu-iotests/140
index 91e08c30d4..d923b777e2 100755
--- a/tests/qemu-iotests/140
+++ b/tests/qemu-iotests/140
@@ -24,7 +24,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/141 b/tests/qemu-iotests/141
index 115cc1691e..a37030ee17 100755
--- a/tests/qemu-iotests/141
+++ b/tests/qemu-iotests/141
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/143 b/tests/qemu-iotests/143
index 72151acf27..92a081b79e 100755
--- a/tests/qemu-iotests/143
+++ b/tests/qemu-iotests/143
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/144 b/tests/qemu-iotests/144
index 60e9ddd75f..bdcc498fa2 100755
--- a/tests/qemu-iotests/144
+++ b/tests/qemu-iotests/144
@@ -22,7 +22,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/146 b/tests/qemu-iotests/146
index 98aca96732..661a9d2625 100755
--- a/tests/qemu-iotests/146
+++ b/tests/qemu-iotests/146
@@ -20,7 +20,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/150 b/tests/qemu-iotests/150
index ac6930ae20..fab0faa389 100755
--- a/tests/qemu-iotests/150
+++ b/tests/qemu-iotests/150
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/153 b/tests/qemu-iotests/153
index 607af59091..9bc3be8f75 100755
--- a/tests/qemu-iotests/153
+++ b/tests/qemu-iotests/153
@@ -20,7 +20,7 @@
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/156 b/tests/qemu-iotests/156
index 65dcedd493..a9540bd80d 100755
--- a/tests/qemu-iotests/156
+++ b/tests/qemu-iotests/156
@@ -28,7 +28,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/162 b/tests/qemu-iotests/162
index cf17f494d8..94dae60d30 100755
--- a/tests/qemu-iotests/162
+++ b/tests/qemu-iotests/162
@@ -21,7 +21,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/173 b/tests/qemu-iotests/173
index 9594f3c5ea..217e55c168 100755
--- a/tests/qemu-iotests/173
+++ b/tests/qemu-iotests/173
@@ -20,7 +20,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/176 b/tests/qemu-iotests/176
index 27ac25467f..a6a2a4cd44 100755
--- a/tests/qemu-iotests/176
+++ b/tests/qemu-iotests/176
@@ -25,7 +25,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/182 b/tests/qemu-iotests/182
index fcd1d796eb..bbd1132b05 100755
--- a/tests/qemu-iotests/182
+++ b/tests/qemu-iotests/182
@@ -20,7 +20,7 @@
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/192 b/tests/qemu-iotests/192
index d809187fca..e66e1a4f06 100755
--- a/tests/qemu-iotests/192
+++ b/tests/qemu-iotests/192
@@ -21,7 +21,7 @@
#
# creator
-owner=famz@redhat.com
+owner=fam@euphon.net
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/200 b/tests/qemu-iotests/200
index f80517e342..f66c571d24 100755
--- a/tests/qemu-iotests/200
+++ b/tests/qemu-iotests/200
@@ -22,7 +22,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/216 b/tests/qemu-iotests/216
index 88b385afa3..c531abfded 100755
--- a/tests/qemu-iotests/216
+++ b/tests/qemu-iotests/216
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Creator/Owner: Max Reitz <mreitz@redhat.com>
+# Creator/Owner: Hanna Reitz <hreitz@redhat.com>
import iotests
from iotests import log, qemu_img, qemu_io_silent
diff --git a/tests/qemu-iotests/218 b/tests/qemu-iotests/218
index 853ed52b34..8345793902 100755
--- a/tests/qemu-iotests/218
+++ b/tests/qemu-iotests/218
@@ -25,7 +25,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Creator/Owner: Max Reitz <mreitz@redhat.com>
+# Creator/Owner: Hanna Reitz <hreitz@redhat.com>
import iotests
from iotests import log, qemu_img, qemu_io_silent
diff --git a/tests/qemu-iotests/224 b/tests/qemu-iotests/224
index c31c55b49d..4df5157e8d 100755
--- a/tests/qemu-iotests/224
+++ b/tests/qemu-iotests/224
@@ -19,7 +19,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Creator/Owner: Max Reitz <mreitz@redhat.com>
+# Creator/Owner: Hanna Reitz <hreitz@redhat.com>
import iotests
from iotests import log, qemu_img, qemu_io_silent, filter_qmp_testfiles, \
diff --git a/tests/qemu-iotests/225 b/tests/qemu-iotests/225
index c0053790db..b5949fcb58 100755
--- a/tests/qemu-iotests/225
+++ b/tests/qemu-iotests/225
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/228 b/tests/qemu-iotests/228
index f79bae0267..7341777f9f 100755
--- a/tests/qemu-iotests/228
+++ b/tests/qemu-iotests/228
@@ -19,7 +19,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Creator/Owner: Max Reitz <mreitz@redhat.com>
+# Creator/Owner: Hanna Reitz <hreitz@redhat.com>
import iotests
from iotests import log, qemu_img, filter_testfiles, filter_imgfmt, \
diff --git a/tests/qemu-iotests/229 b/tests/qemu-iotests/229
index 4bc99390b5..aaa6996ce3 100755
--- a/tests/qemu-iotests/229
+++ b/tests/qemu-iotests/229
@@ -21,7 +21,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq="$(basename $0)"
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/231 b/tests/qemu-iotests/231
index 8e6c6447c1..eddc8e9641 100755
--- a/tests/qemu-iotests/231
+++ b/tests/qemu-iotests/231
@@ -22,7 +22,7 @@
#
# creator
-owner=jcody@redhat.com
+owner=codyprime@gmail.com
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/250 b/tests/qemu-iotests/250
index f069ca1759..af48f83aba 100755
--- a/tests/qemu-iotests/250
+++ b/tests/qemu-iotests/250
@@ -20,7 +20,7 @@
#
# creator
-owner=vsementsov@virtuozzo.com
+owner=v.sementsov-og@mail.ru
seq=`basename $0`
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/251 b/tests/qemu-iotests/251
index 8bdec37d32..794cad58b2 100755
--- a/tests/qemu-iotests/251
+++ b/tests/qemu-iotests/251
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/252 b/tests/qemu-iotests/252
index 2134b9993a..522333cf1d 100755
--- a/tests/qemu-iotests/252
+++ b/tests/qemu-iotests/252
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/258 b/tests/qemu-iotests/258
index 7798a04d7d..cfd536d6dc 100755
--- a/tests/qemu-iotests/258
+++ b/tests/qemu-iotests/258
@@ -18,7 +18,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
-# Creator/Owner: Max Reitz <mreitz@redhat.com>
+# Creator/Owner: Hanna Reitz <hreitz@redhat.com>
import iotests
from iotests import log, qemu_img, qemu_io_silent, \
diff --git a/tests/qemu-iotests/259 b/tests/qemu-iotests/259
index 1b15e8fb48..82f5de4b34 100755
--- a/tests/qemu-iotests/259
+++ b/tests/qemu-iotests/259
@@ -20,7 +20,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/261 b/tests/qemu-iotests/261
index d1c8037ab1..b73da565da 100755
--- a/tests/qemu-iotests/261
+++ b/tests/qemu-iotests/261
@@ -22,7 +22,7 @@
#
# creator
-owner=mreitz@redhat.com
+owner=hreitz@redhat.com
seq=$(basename $0)
echo "QA output created by $seq"
diff --git a/tests/qemu-iotests/310 b/tests/qemu-iotests/310
index e3bfedc7fd..00fc5618f6 100755
--- a/tests/qemu-iotests/310
+++ b/tests/qemu-iotests/310
@@ -31,7 +31,7 @@ log('')
log('=== Copy-on-read across nodes ===')
log('')
-# This test is similar to the 216 one by Max Reitz <mreitz@redhat.com>
+# This test is similar to the 216 one by Hanna Reitz <hreitz@redhat.com>
# The difference is that this test case involves a bottom node to the
# COR filter driver.
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PULL 2/4] main-loop: Disable GLOBAL_STATE_CODE() assertions
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
2022-03-29 14:58 ` [PULL 1/4] iotests: update test owner contact information Hanna Reitz
@ 2022-03-29 14:58 ` Hanna Reitz
2022-03-29 14:58 ` [PULL 3/4] block/stream: Drain subtree around graph change Hanna Reitz
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Hanna Reitz @ 2022-03-29 14:58 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, Hanna Reitz, qemu-devel
These assertions are very useful for developers to find bugs, and so
they have indeed pointed us towards bugs already. For users, it is not
so useful to find these bugs. We should probably not enable them in
releases until we are sufficiently certain that they will not fire
during normal operation, unless something is going seriously wrong.
For example, we have received a bug report that you cannot add an NBD
server on a BDS in an I/O thread with `-incoming defer`. I am sure this
is a real bug that needs investigation, but we do not really have that
time right now, so close to release, and so I would rather disable the
assertions to get time to investigate such reports.
(I am just putting the link as "buglink" below, not "closes", because
disabling the assertion will not fix the likely underlying bug.)
Buglink: https://gitlab.com/qemu-project/qemu/-/issues/945
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220329093545.52114-1-hreitz@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
include/qemu/main-loop.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index 89bd9edefb..d3750c8e76 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -284,7 +284,8 @@ bool qemu_in_main_thread(void);
#else
#define GLOBAL_STATE_CODE() \
do { \
- assert(qemu_in_main_thread()); \
+ /* FIXME: Re-enable after 7.0 release */ \
+ /* assert(qemu_in_main_thread()); */ \
} while (0)
#endif /* CONFIG_COCOA */
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PULL 3/4] block/stream: Drain subtree around graph change
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
2022-03-29 14:58 ` [PULL 1/4] iotests: update test owner contact information Hanna Reitz
2022-03-29 14:58 ` [PULL 2/4] main-loop: Disable GLOBAL_STATE_CODE() assertions Hanna Reitz
@ 2022-03-29 14:58 ` Hanna Reitz
2022-03-29 14:58 ` [PULL 4/4] iotests: Fix status checks Hanna Reitz
2022-03-29 21:20 ` [PULL 0/4] Block patches for 7.0-rc2 Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Hanna Reitz @ 2022-03-29 14:58 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, Hanna Reitz, qemu-devel
When the stream block job cuts out the nodes between top and base in
stream_prepare(), it does not drain the subtree manually; it fetches the
base node, and tries to insert it as the top node's backing node with
bdrv_set_backing_hd(). bdrv_set_backing_hd() however will drain, and so
the actual base node might change (because the base node is actually not
part of the stream job) before the old base node passed to
bdrv_set_backing_hd() is installed.
This has two implications:
First, the stream job does not keep a strong reference to the base node.
Therefore, if it is deleted in bdrv_set_backing_hd()'s drain (e.g.
because some other block job is drained to finish), we will get a
use-after-free. We should keep a strong reference to that node.
Second, even with such a strong reference, the problem remains that the
base node might change before bdrv_set_backing_hd() actually runs and as
a result the wrong base node is installed.
Both effects can be seen in 030's TestParallelOps.test_overlapping_5()
case, which has five nodes, and simultaneously streams from the middle
node to the top node, and commits the middle node down to the base node.
As it is, this will sometimes crash, namely when we encounter the
above-described use-after-free.
Taking a strong reference to the base node, we no longer get a crash,
but the resuling block graph is less than ideal: The expected result is
obviously that all middle nodes are cut out and the base node is the
immediate backing child of the top node. However, if stream_prepare()
takes a strong reference to its base node (the middle node), and then
the commit job finishes in bdrv_set_backing_hd(), supposedly dropping
that middle node, the stream job will just reinstall it again.
Therefore, we need to keep the whole subtree drained in
stream_prepare(), so that the graph modification it performs is
effectively atomic, i.e. that the base node it fetches is still the base
node when bdrv_set_backing_hd() sets it as the top node's backing node.
Verify this by asserting in said 030's test case that the base node is
always the top node's immediate backing child when both jobs are done.
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220324140907.17192-1-hreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Acked-by: Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>
---
block/stream.c | 15 ++++++++++++++-
tests/qemu-iotests/030 | 5 +++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/block/stream.c b/block/stream.c
index 3acb59fe6a..694709bd25 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -64,7 +64,13 @@ static int stream_prepare(Job *job)
bdrv_cor_filter_drop(s->cor_filter_bs);
s->cor_filter_bs = NULL;
+ bdrv_subtree_drained_begin(s->above_base);
+
base = bdrv_filter_or_cow_bs(s->above_base);
+ if (base) {
+ bdrv_ref(base);
+ }
+
unfiltered_base = bdrv_skip_filters(base);
if (bdrv_cow_child(unfiltered_bs)) {
@@ -75,14 +81,21 @@ static int stream_prepare(Job *job)
base_fmt = unfiltered_base->drv->format_name;
}
}
+
bdrv_set_backing_hd(unfiltered_bs, base, &local_err);
ret = bdrv_change_backing_file(unfiltered_bs, base_id, base_fmt, false);
if (local_err) {
error_report_err(local_err);
- return -EPERM;
+ ret = -EPERM;
+ goto out;
}
}
+out:
+ if (base) {
+ bdrv_unref(base);
+ }
+ bdrv_subtree_drained_end(s->above_base);
return ret;
}
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 567bf1da67..14112835ed 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -436,6 +436,11 @@ class TestParallelOps(iotests.QMPTestCase):
self.vm.run_job(job='node4', auto_dismiss=True)
self.assert_no_active_block_jobs()
+ # Assert that node0 is now the backing node of node4
+ result = self.vm.qmp('query-named-block-nodes')
+ node4 = next(node for node in result['return'] if node['node-name'] == 'node4')
+ self.assertEqual(node4['image']['backing-image']['filename'], self.imgs[0])
+
# Test a block-stream and a block-commit job in parallel
# Here the stream job is supposed to finish quickly in order to reproduce
# the scenario that triggers the bug fixed in 3d5d319e1221 and 1a63a907507
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PULL 4/4] iotests: Fix status checks
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
` (2 preceding siblings ...)
2022-03-29 14:58 ` [PULL 3/4] block/stream: Drain subtree around graph change Hanna Reitz
@ 2022-03-29 14:58 ` Hanna Reitz
2022-03-29 21:20 ` [PULL 0/4] Block patches for 7.0-rc2 Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Hanna Reitz @ 2022-03-29 14:58 UTC (permalink / raw)
To: qemu-block; +Cc: Kevin Wolf, Peter Maydell, Hanna Reitz, qemu-devel
An iotest's 'paused' condition is fickle; it will be reported as true
whenever the job is drained, for example, or when it is in the process
of completing.
030 and 041 contain such checks, we should replace them by checking the
job status instead. (As was done for 129 in commit f9a6256b48f29c2816
for the 'busy' condition.)
Additionally, when we want to test that a job is paused on error, we
might want to give it some time to actually switch to the paused state.
Do that by waiting on the corresponding JOB_STATUS_CHANGE event. (But
only if they are not already paused; the loops these places are in fetch
all VM events, so they may have already fetched that event from the
queue.)
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220324180221.24508-1-hreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
---
tests/qemu-iotests/030 | 25 ++++++++++++++++++++-----
tests/qemu-iotests/041 | 26 +++++++++++++++++++-------
2 files changed, 39 insertions(+), 12 deletions(-)
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 14112835ed..18eddcc734 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -724,7 +724,8 @@ class TestEIO(TestErrors):
if result == {'return': []}:
# Job finished too quickly
continue
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'],
+ ['running', 'pending', 'aborting', 'concluded'])
elif event['event'] == 'BLOCK_JOB_COMPLETED':
self.assertTrue(error, 'job completed unexpectedly')
self.assert_qmp(event, 'data/type', 'stream')
@@ -754,8 +755,14 @@ class TestEIO(TestErrors):
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'read')
+ if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
+ self.vm.events_wait([(
+ 'JOB_STATUS_CHANGE',
+ {'data': {'id': 'drive0', 'status': 'paused'}}
+ )])
+
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', True)
+ self.assert_qmp(result, 'return[0]/status', 'paused')
self.assert_qmp(result, 'return[0]/offset', self.STREAM_BUFFER_SIZE)
self.assert_qmp(result, 'return[0]/io-status', 'failed')
@@ -766,7 +773,8 @@ class TestEIO(TestErrors):
if result == {'return': []}:
# Race; likely already finished. Check.
continue
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'],
+ ['running', 'pending', 'aborting', 'concluded'])
self.assert_qmp(result, 'return[0]/io-status', 'ok')
elif event['event'] == 'BLOCK_JOB_COMPLETED':
self.assertTrue(error, 'job completed unexpectedly')
@@ -843,8 +851,14 @@ class TestENOSPC(TestErrors):
self.assert_qmp(event, 'data/operation', 'read')
error = True
+ if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
+ self.vm.events_wait([(
+ 'JOB_STATUS_CHANGE',
+ {'data': {'id': 'drive0', 'status': 'paused'}}
+ )])
+
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', True)
+ self.assert_qmp(result, 'return[0]/status', 'paused')
self.assert_qmp(result, 'return[0]/offset', self.STREAM_BUFFER_SIZE)
self.assert_qmp(result, 'return[0]/io-status', 'nospace')
@@ -855,7 +869,8 @@ class TestENOSPC(TestErrors):
if result == {'return': []}:
# Race; likely already finished. Check.
continue
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'],
+ ['running', 'pending', 'aborting', 'concluded'])
self.assert_qmp(result, 'return[0]/io-status', 'ok')
elif event['event'] == 'BLOCK_JOB_COMPLETED':
self.assertTrue(error, 'job completed unexpectedly')
diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
index 3e16acee56..8429958bf0 100755
--- a/tests/qemu-iotests/041
+++ b/tests/qemu-iotests/041
@@ -529,7 +529,7 @@ new_state = "1"
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'read')
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'], ['running', 'ready'])
self.complete_and_wait()
def test_large_cluster(self):
@@ -555,7 +555,7 @@ new_state = "1"
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'read')
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'], ['running', 'ready'])
self.complete_and_wait()
self.vm.shutdown()
@@ -580,8 +580,14 @@ new_state = "1"
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'read')
+ if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
+ self.vm.events_wait([(
+ 'JOB_STATUS_CHANGE',
+ {'data': {'id': 'drive0', 'status': 'paused'}}
+ )])
+
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', True)
+ self.assert_qmp(result, 'return[0]/status', 'paused')
self.assert_qmp(result, 'return[0]/io-status', 'failed')
result = self.vm.qmp('block-job-resume', device='drive0')
@@ -593,7 +599,7 @@ new_state = "1"
ready = True
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assert_qmp(result, 'return[0]/status', 'ready')
self.assert_qmp(result, 'return[0]/io-status', 'ok')
self.complete_and_wait(wait_ready=False)
@@ -686,7 +692,7 @@ new_state = "1"
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'write')
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'], ['running', 'ready'])
self.complete_and_wait()
def test_stop_write(self):
@@ -705,15 +711,21 @@ new_state = "1"
self.assert_qmp(event, 'data/device', 'drive0')
self.assert_qmp(event, 'data/operation', 'write')
+ if self.vm.qmp('query-block-jobs')['return'][0]['status'] != 'paused':
+ self.vm.events_wait([(
+ 'JOB_STATUS_CHANGE',
+ {'data': {'id': 'drive0', 'status': 'paused'}}
+ )])
+
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', True)
+ self.assert_qmp(result, 'return[0]/status', 'paused')
self.assert_qmp(result, 'return[0]/io-status', 'failed')
result = self.vm.qmp('block-job-resume', device='drive0')
self.assert_qmp(result, 'return', {})
result = self.vm.qmp('query-block-jobs')
- self.assert_qmp(result, 'return[0]/paused', False)
+ self.assertIn(result['return'][0]['status'], ['running', 'ready'])
self.assert_qmp(result, 'return[0]/io-status', 'ok')
error = True
elif event['event'] == 'BLOCK_JOB_READY':
--
2.35.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PULL 0/4] Block patches for 7.0-rc2
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
` (3 preceding siblings ...)
2022-03-29 14:58 ` [PULL 4/4] iotests: Fix status checks Hanna Reitz
@ 2022-03-29 21:20 ` Peter Maydell
4 siblings, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2022-03-29 21:20 UTC (permalink / raw)
To: Hanna Reitz; +Cc: Kevin Wolf, qemu-devel, qemu-block
On Tue, 29 Mar 2022 at 15:58, Hanna Reitz <hreitz@redhat.com> wrote:
>
> The following changes since commit 44064550d98a680e2ff55fdd783ac19d850ac8ca:
>
> Merge tag 'darwin-20220329' of https://github.com/philmd/qemu into staging (2022-03-29 15:17:53 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/hreitz/qemu.git tags/pull-block-2022-03-29
>
> for you to fetch changes up to d5699c0d4b29e919b87049d948a30527897b7e8a:
>
> iotests: Fix status checks (2022-03-29 16:30:55 +0200)
>
> ----------------------------------------------------------------
> Block patches for 7.0-rc2:
> - Disable GLOBAL_STATE_CODE() assertion for the 7.0 release: We got
> another bug report for this, and we do not have the time to
> investigate before 7.0, so disable the assertion for the release, to
> re-enable and continue investigation in the 7.1 cycle
>
> - stream job fix (regarding interaction with concurrent block jobs)
>
> - iotests fixes
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/7.0
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-03-29 21:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-29 14:58 [PULL 0/4] Block patches for 7.0-rc2 Hanna Reitz
2022-03-29 14:58 ` [PULL 1/4] iotests: update test owner contact information Hanna Reitz
2022-03-29 14:58 ` [PULL 2/4] main-loop: Disable GLOBAL_STATE_CODE() assertions Hanna Reitz
2022-03-29 14:58 ` [PULL 3/4] block/stream: Drain subtree around graph change Hanna Reitz
2022-03-29 14:58 ` [PULL 4/4] iotests: Fix status checks Hanna Reitz
2022-03-29 21:20 ` [PULL 0/4] Block patches for 7.0-rc2 Peter Maydell
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).