On Mon, Feb 06, 2017 at 11:06:46AM +0300, Roman Kagan wrote:
On Sat, Feb 04, 2017 at 03:10:44PM +0100, Tomáš Golembiovský wrote:
> The function returns version of qemu-img as a tuple (major, minor), or
> the value (0,9) in case there was an error detecting the version.
Depending on QEMU version is extremly unreliable. Vendors often stick
with fairly old versions but backport important features (you at RedHat
know that, don't you ;) So it's not unlikely that e.g. a number of
future RHEV/RHEL releases won't use this new feature even though the
included QEMU already supports it.
IMO a simpler and more reliable check is to construct a command line for
qemu-img that is lightweight to execute and succeeds if the option is
supported or fails otherwise.
[ sorry for being so late with this ]
Yes, I agree. My quick testing shows that the following command
should be sufficent to test for the "offset" parameter:
$ truncate -s1024 /tmp/test2
$ qemu-img create /tmp/test -f qcow2 -b
'json:{"offset":512,"file":{"filename":"/tmp/test2"}}'
On RHEL 7.3 it fails with:
qemu-img: /tmp/test: Block format 'raw' used by device '' doesn't
support the option 'offset'
and return code 1.
(Obviously we'd have to use real temporary files)
I'll see if I can make a patch ...
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org