提交 31e38279 编写于 作者: V Vladimir Sementsov-Ogievskiy 提交者: Eric Blake

qemu-iotests/199: change discard patterns

iotest 199 works too long because of many discard operations. At the
same time, postcopy period is very short, in spite of all these
efforts.

So, let's use less discards (and with more interesting patterns) to
reduce test timing. In the next commit we'll increase postcopy period.
Signed-off-by: NVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: NAndrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Tested-by: NEric Blake <eblake@redhat.com>
Message-Id: <20200727194236.19551-6-vsementsov@virtuozzo.com>
Signed-off-by: NEric Blake <eblake@redhat.com>
上级 edb90bbd
......@@ -30,6 +30,28 @@ size = '256G'
fifo = os.path.join(iotests.test_dir, 'mig_fifo')
GiB = 1024 * 1024 * 1024
discards1 = (
(0, GiB),
(2 * GiB + 512 * 5, 512),
(3 * GiB + 512 * 5, 512),
(100 * GiB, GiB)
)
discards2 = (
(3 * GiB + 512 * 8, 512),
(4 * GiB + 512 * 8, 512),
(50 * GiB, GiB),
(100 * GiB + GiB // 2, GiB)
)
def apply_discards(vm, discards):
for d in discards:
vm.hmp_qemu_io('drive0', 'discard {} {}'.format(*d))
def event_seconds(event):
return event['timestamp']['seconds'] + \
event['timestamp']['microseconds'] / 1000000.0
......@@ -80,9 +102,7 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
self.vm_b_events = []
def test_postcopy(self):
discard_size = 0x40000000
granularity = 512
chunk = 4096
result = self.vm_a.qmp('block-dirty-bitmap-add', node='drive0',
name='bitmap', granularity=granularity)
......@@ -92,14 +112,7 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
node='drive0', name='bitmap')
empty_sha256 = result['return']['sha256']
s = 0
while s < discard_size:
self.vm_a.hmp_qemu_io('drive0', 'discard %d %d' % (s, chunk))
s += 0x10000
s = 0x8000
while s < discard_size:
self.vm_a.hmp_qemu_io('drive0', 'discard %d %d' % (s, chunk))
s += 0x10000
apply_discards(self.vm_a, discards1 + discards2)
result = self.vm_a.qmp('x-debug-block-dirty-bitmap-sha256',
node='drive0', name='bitmap')
......@@ -111,10 +124,8 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
result = self.vm_a.qmp('block-dirty-bitmap-clear', node='drive0',
name='bitmap')
self.assert_qmp(result, 'return', {})
s = 0
while s < discard_size:
self.vm_a.hmp_qemu_io('drive0', 'discard %d %d' % (s, chunk))
s += 0x10000
apply_discards(self.vm_a, discards1)
caps = [{'capability': 'dirty-bitmaps', 'state': True},
{'capability': 'events', 'state': True}]
......@@ -134,10 +145,7 @@ class TestDirtyBitmapPostcopyMigration(iotests.QMPTestCase):
event_resume = self.vm_b.event_wait('RESUME')
self.vm_b_events.append(event_resume)
s = 0x8000
while s < discard_size:
self.vm_b.hmp_qemu_io('drive0', 'discard %d %d' % (s, chunk))
s += 0x10000
apply_discards(self.vm_b, discards2)
match = {'data': {'status': 'completed'}}
event_complete = self.vm_b.event_wait('MIGRATION', match=match)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册