From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:48148) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UbtFF-0004I9-W4 for qemu-devel@nongnu.org; Mon, 13 May 2013 09:56:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UbtFE-00046i-67 for qemu-devel@nongnu.org; Mon, 13 May 2013 09:56:53 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34707) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ubt1s-0007rQ-Kz for qemu-devel@nongnu.org; Mon, 13 May 2013 09:43:04 -0400 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r4DDh4Qm030340 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 13 May 2013 09:43:04 -0400 From: Kevin Wolf Date: Mon, 13 May 2013 15:42:55 +0200 Message-Id: <1368452576-32262-3-git-send-email-kwolf@redhat.com> In-Reply-To: <1368452576-32262-1-git-send-email-kwolf@redhat.com> References: <1368452576-32262-1-git-send-email-kwolf@redhat.com> Subject: [Qemu-devel] [PATCH 2/3] qcow2.py: Subcommand for changing header fields List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, rjones@redhat.com, stefanha@redhat.com Signed-off-by: Kevin Wolf --- tests/qemu-iotests/qcow2.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/qemu-iotests/qcow2.py b/tests/qemu-iotests/qcow2.py index fecf5b9..b6abd16 100755 --- a/tests/qemu-iotests/qcow2.py +++ b/tests/qemu-iotests/qcow2.py @@ -149,6 +149,17 @@ def cmd_dump_header(fd): h.dump() h.dump_extensions() +def cmd_set_header(fd, name, value): + try: + value = int(value, 0) + except: + print "'%s' is not a valid number" % value + sys.exit(1) + + h = QcowHeader(fd) + h.__dict__[name] = value + h.update(fd) + def cmd_add_header_ext(fd, magic, data): try: magic = int(magic, 0) @@ -205,6 +216,7 @@ def cmd_set_feature_bit(fd, group, bit): cmds = [ [ 'dump-header', cmd_dump_header, 0, 'Dump image header and header extensions' ], + [ 'set-header', cmd_set_header, 2, 'Set a field in the header'], [ 'add-header-ext', cmd_add_header_ext, 2, 'Add a header extension' ], [ 'del-header-ext', cmd_del_header_ext, 1, 'Delete a header extension' ], [ 'set-feature-bit', cmd_set_feature_bit, 2, 'Set a feature bit'], -- 1.8.1.4