Il 25/01/2013 19:57, Vishvananda Ishaya ha scritto: > This test verifies two mirroring issues are fixed with resized images: > > * sync='top' creates an image that is the proper size > * sync='full' doesn't cause an assertion failure and crash qemu > --- > These are tests for my patches for the following bugs: > > https://bugs.launchpad.net/qemu/+bug/1103868 > https://bugs.launchpad.net/qemu/+bug/1103903 > > tests/qemu-iotests/041 | 48 > ++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/041.out | 4 ++-- > 2 files changed, 50 insertions(+), 2 deletions(-) > > diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 > index c6eb851..e7c004a 100755 > --- a/tests/qemu-iotests/041 > +++ b/tests/qemu-iotests/041 > @@ -292,6 +292,54 @@ class TestMirrorNoBacking(ImageMirroringTestCase): > self.assertTrue(self.compare_images(test_img, target_img), > 'target image does not match source after mirroring') > > +class TestMirrorResized(ImageMirroringTestCase): > + backing_len = 1 * 1024 * 1024 # MB > + image_len = 2 * 1024 * 1024 # MB > + > + def setUp(self): > + self.create_image(backing_img, TestMirrorResized.backing_len) > + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % > backing_img, test_img) > + qemu_img('resize', test_img, '2M') > + self.vm = iotests.VM().add_drive(test_img) > + self.vm.launch() > + > + def tearDown(self): > + self.vm.shutdown() > + os.remove(test_img) > + os.remove(backing_img) > + try: > + os.remove(target_img) > + except OSError: > + pass > + > + def test_complete_top(self): > + self.assert_no_active_mirrors() > + > + result = self.vm.qmp('drive-mirror', device='drive0', sync='top', > + target=target_img) > + self.assert_qmp(result, 'return', {}) > + > + self.complete_and_wait() > + result = self.vm.qmp('query-block') > + self.assert_qmp(result, 'return[0]/inserted/file', target_img) > + self.vm.shutdown() > + self.assertTrue(self.compare_images(test_img, target_img), > + 'target image does not match source after mirroring') > + > + def test_complete_full(self): > + self.assert_no_active_mirrors() > + > + result = self.vm.qmp('drive-mirror', device='drive0', sync='full', > + target=target_img) > + self.assert_qmp(result, 'return', {}) > + > + self.complete_and_wait() > + result = self.vm.qmp('query-block') > + self.assert_qmp(result, 'return[0]/inserted/file', target_img) > + self.vm.shutdown() > + self.assertTrue(self.compare_images(test_img, target_img), > + 'target image does not match source after mirroring') > + > class TestReadErrors(ImageMirroringTestCase): > image_len = 2 * 1024 * 1024 # MB > > diff --git a/tests/qemu-iotests/041.out b/tests/qemu-iotests/041.out > index 71009c2..3a89159 100644 > --- a/tests/qemu-iotests/041.out > +++ b/tests/qemu-iotests/041.out > @@ -1,5 +1,5 @@ > -.................. > +.................... > ---------------------------------------------------------------------- > -Ran 18 tests > +Ran 20 tests > > OK >
The patch doesn't apply to the block branch, but the conflicts should be trivial. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Paolo