qcow2.py: Subcommand for changing header fields
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
a00e81e98f
commit
c93331c914
@ -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'],
|
||||
|
Loading…
Reference in New Issue
Block a user