From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34107) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YVfUM-0006rq-OE for qemu-devel@nongnu.org; Wed, 11 Mar 2015 08:11:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YVfUL-0007W7-8a for qemu-devel@nongnu.org; Wed, 11 Mar 2015 08:11:50 -0400 Date: Wed, 11 Mar 2015 13:11:38 +0100 From: Kashyap Chamarthy Message-ID: <20150311121138.GA28559@tesla.redhat.com> References: <1425528911-10300-1-git-send-email-jsnow@redhat.com> <1425528911-10300-3-git-send-email-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1425528911-10300-3-git-send-email-jsnow@redhat.com> Subject: Re: [Qemu-devel] [PATCH 02/11] iotests: add transactional incremental backup test List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: kwolf@redhat.com, famz@redhat.com, qemu-block@nongnu.org, qemu-devel@nongnu.org, armbru@redhat.com, vsementsov@parallels.com, stefanha@redhat.com, mreitz@redhat.com On Wed, Mar 04, 2015 at 11:15:02PM -0500, John Snow wrote: > Reviewed-by: Max Reitz > Signed-off-by: John Snow > --- > tests/qemu-iotests/124 | 49 ++++++++++++++++++++++++++++++++++++++++++++++ > tests/qemu-iotests/124.out | 4 ++-- > 2 files changed, 51 insertions(+), 2 deletions(-) This tests seems to fail locally: . . . +====================================================================== +FAIL: test_incremental_failure (__main__.TestIncrementalBackup) +Test: Verify backups made after a failure are correct. +---------------------------------------------------------------------- +Traceback (most recent call last): + File "124", line 331, in test_incremental_failure + self.create_incremental() + File "124", line 167, in create_incremental + return self.wait_incremental(bitmap, validate) + File "124", line 179, in wait_incremental + self.assert_qmp_absent(event, 'data/error') + File "/home/kashyapc/tinker-space/qemu-upstream/tests/qemu-iotests/iotests.py", line 282, in assert_qmp_absent + self.fail('path "%s" has value "%s"' % (path, str(result))) +AssertionError: path "data/error" has value "Input/output error" + +====================================================================== +FAIL: test_transaction_failure (__main__.TestIncrementalBackup) +Test: Verify backups made from a transaction that partially fails. +---------------------------------------------------------------------- +Traceback (most recent call last): + File "124", line 448, in test_transaction_failure + self.wait_incremental(dr1bm0, 'drive1') + File "124", line 179, in wait_incremental + self.assert_qmp_absent(event, 'data/error') + File "/home/kashyapc/tinker-space/qemu-upstream/tests/qemu-iotests/iotests.py", line 282, in assert_qmp_absent + self.fail('path "%s" has value "%s"' % (path, str(result))) +AssertionError: path "data/error" has value "Input/output error" + ---------------------------------------------------------------------- . . . Complete stderr of `./check -qcow2` here: https://kashyapc.fedorapeople.org/virt/qemu-incremental-backup-tests/stderr-qemu-io-tests-qcow2-11MAR2015.txt And, as per the other two failures of tests 051 and 061 (that you mentioned on #qemu yesterday), Kevin Wolf on IRC said: 051 was fixed, but the output has changed _again_. That change is from armbru_'s commit 7ee6c1e18. We need to update the reference output. As for 061, Max sent a patch, but I think we need to fix qemu rather than updating the reference output there Because the error message has become considerably worse To test, I applied these two series to yesterday's QEMU git master: [PATCH 00/11] block: incremental backup transactions [PATCH v2 00/17] block: transactionless incremental backup So, I'm here (28 commits ahead of commit 3539bbb on master) after applying the patch series: $ git describe v2.2.0-1190-g41b7f5f I need to try w/ today's git though, yet. -- /kashyap > diff --git a/tests/qemu-iotests/124 b/tests/qemu-iotests/124 > index 1c07387..da0bf6d 100644 > --- a/tests/qemu-iotests/124 > +++ b/tests/qemu-iotests/124 > @@ -184,6 +184,55 @@ class TestIncrementalBackup(iotests.QMPTestCase): > return True > > > + def test_incremental_transaction(self): > + '''Test: Verify backups made from transactionally created bitmaps. > + > + Create a bitmap "before" VM execution begins, then create a second > + bitmap AFTER writes have already occurred. Use transactions to create > + a full backup and synchronize both bitmaps to this backup. > + Create an incremental backup through both bitmaps and verify that > + both backups match the full backup. > + ''' > + bitmap0 = self.add_bitmap('bitmap0', 'drive0') > + self.hmp_io_writes('drive0', (('0xab', 0, 512), > + ('0xfe', '16M', '256k'), > + ('0x64', '32736k', '64k'))) > + bitmap1 = self.add_bitmap('bitmap1', 'drive0') > + > + result = self.vm.qmp('transaction', actions=[ > + { > + 'type': 'block-dirty-bitmap-clear', > + 'data': { 'node': 'drive0', > + 'name': 'bitmap0' }, > + }, > + { > + 'type': 'block-dirty-bitmap-clear', > + 'data': { 'node': 'drive0', > + 'name': 'bitmap1' }, > + }, > + { > + 'type': 'drive-backup', > + 'data': { 'device': 'drive0', > + 'sync': 'full', > + 'format': iotests.imgfmt, > + 'target': self.full_bak }, > + } > + ]) > + self.assert_qmp(result, 'return', {}) > + self.wait_until_completed() > + self.files.append(self.full_bak) > + self.check_full_backup() > + > + self.hmp_io_writes('drive0', (('0x9a', 0, 512), > + ('0x55', '8M', '352k'), > + ('0x78', '15872k', '1M'))) > + # Both bitmaps should be in sync and create fully valid > + # incremental backups > + res1 = self.create_incremental(bitmap0) > + res2 = self.create_incremental(bitmap1) > + self.assertTrue(res1 and res2) > + > + > def test_incremental_failure(self): > '''Test: Verify backups made after a failure are correct. > > diff --git a/tests/qemu-iotests/124.out b/tests/qemu-iotests/124.out > index 89968f3..914e373 100644 > --- a/tests/qemu-iotests/124.out > +++ b/tests/qemu-iotests/124.out > @@ -1,5 +1,5 @@ > -.... > +..... > ---------------------------------------------------------------------- > -Ran 4 tests > +Ran 5 tests > > OK > -- > 1.9.3