[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/11] qcow2.py: Subcommand for changing header fiel
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH 08/11] qcow2.py: Subcommand for changing header fields |
Date: |
Fri, 24 May 2013 16:32:24 +0200 |
From: Kevin Wolf <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
tests/qemu-iotests/qcow2.py | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/tests/qemu-iotests/qcow2.py b/tests/qemu-iotests/qcow2.py
index fecf5b9..44a2b45 100755
--- a/tests/qemu-iotests/qcow2.py
+++ b/tests/qemu-iotests/qcow2.py
@@ -149,6 +149,22 @@ 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)
+
+ fields = (field[2] for field in QcowHeader.fields)
+ if not name in fields:
+ print "'%s' is not a known header field" % name
+ 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 +221,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
- [Qemu-devel] [PULL 00/11] Block patches, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 02/11] block: move input parsing code in qmp_transaction(), Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 03/11] block: package committing code in qmp_transaction(), Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 05/11] block: make all steps in qmp_transaction() as callback, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 06/11] blockdev: Rename BlockdevAction -> TransactionAction, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 07/11] qemu-io: Fix 'map' output, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 08/11] qcow2.py: Subcommand for changing header fields,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH 10/11] coroutine: protect global pool with a mutex, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 09/11] qemu-iotests: Try creating huge qcow2 image, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 01/11] block: package preparation code in qmp_transaction(), Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 11/11] coroutine: stop using AioContext in CoQueue, Stefan Hajnoczi, 2013/05/24
- [Qemu-devel] [PATCH 04/11] block: package rollback code in qmp_transaction(), Stefan Hajnoczi, 2013/05/24