]> Git Repo - qemu.git/commitdiff
iotests: Add new case to 030
authorMax Reitz <[email protected]>
Wed, 3 Jul 2019 17:28:11 +0000 (19:28 +0200)
committerMax Reitz <[email protected]>
Mon, 15 Jul 2019 13:48:40 +0000 (15:48 +0200)
We recently removed the dependency of the stream job on its base node.
That makes it OK to use a commit filter node there.  Test that.

Signed-off-by: Max Reitz <[email protected]>
Tested-by: Andrey Shinkevich <[email protected]>
Reviewed-by: Alberto Garcia <[email protected]>
Message-id: 20190703172813[email protected]
Signed-off-by: Max Reitz <[email protected]>
tests/qemu-iotests/030
tests/qemu-iotests/030.out

index 10fe1de89df4140f8d40948d003525c20fa1c578..a0397072bc6d05e31627b2151528ec1af93560a5 100755 (executable)
@@ -363,6 +363,31 @@ class TestParallelOps(iotests.QMPTestCase):
         self.wait_until_completed()
         self.assert_no_active_block_jobs()
 
+    # In this case the base node of the stream job is the commit job's
+    # filter node.  stream does not have a real dependency on its base
+    # node, so even though commit removes it when it is done, there is
+    # no conflict.
+    def test_overlapping_5(self):
+        self.assert_no_active_block_jobs()
+
+        # Commit from node2 into node0
+        result = self.vm.qmp('block-commit', device='drive0',
+                             top_node='node2', base_node='node0',
+                             filter_node_name='commit-filter', speed=1024*1024)
+        self.assert_qmp(result, 'return', {})
+
+        # Stream from node2 into node4
+        result = self.vm.qmp('block-stream', device='node4',
+                             base_node='commit-filter', job_id='node4')
+        self.assert_qmp(result, 'return', {})
+
+        result = self.vm.qmp('block-job-set-speed', device='drive0', speed=0)
+        self.assert_qmp(result, 'return', {})
+
+        self.vm.run_job(job='drive0', auto_dismiss=True, use_log=False)
+        self.vm.run_job(job='node4', auto_dismiss=True, use_log=False)
+        self.assert_no_active_block_jobs()
+
     # 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
index 4fd1c2dcd218ecf87e18b7a6b4542c4acd892ea0..5eb508de074dcbc0dad4007d0f4f972fd82b261c 100644 (file)
@@ -1,5 +1,5 @@
-.........................
+..........................
 ----------------------------------------------------------------------
-Ran 25 tests
+Ran 26 tests
 
 OK
This page took 0.028316 seconds and 4 git commands to generate.