On Mon, 2010-11-08 at 10:02 +0000, Daniel P. Berrange wrote:
On Fri, Nov 05, 2010 at 02:04:50PM -0500, Jamie Strandboge wrote:>
> This is confirmed as not working on 0.8.3 and 0.8.5. The attached patch
> against 0.8.5 fixes the issue and restores host_device support.
host_device is not a data format type, but rather a qemu driver protocol.
As such it is not applicable for the <driver type=XXX> field, because
the protocol is already specified at the <disk> element level with
a combo of the type+device fields. If it happened to be possible to
set it in the <driver> field that is just pure chance & not something
that is supported. If we need to setup host_device anywhere, then this
needs to be dealt with at the qemu_conf.c where we generate the CLI
args.
Hmm... that is not clear in the documention IMHO (and the patch was
careful to only use this for the qemu driver). Eg from the qemu-img man
page:
"Supported image file formats:
raw ...
host_device ...
qcow2 ...
...
"
Ie, the language in the qemu-img man page has 'host_device' at the same
level as 'raw', 'qcow2', 'cow', etc as a 'file format'.
http://libvirt.org/formatdomain.html#elementsDisks only talks about a
'sub-type' for the qemu driver (but it is easy to infer that it is
looking at the qemu-img types after using libvirt for a while) and
http://libvirt.org/storage.html does not list 'host_device' as a 'format
type', but it does list all of the other ones from the same section of
the qemu-img man page (except 'vdi', which is maybe an omission in the
libvirt docs?). Finally, 'man virsh' does list 'host_device' as a
'file
format' in its 'vol-create-as' command.
By all means if this needs to be cleaned up in qemu_conf.c that seems
fine, but until then I feel that either host_device should be supported
again (preferred based on the qemu-img man page) or the documentation
made more consistent, and something probably added in
http://libvirt.org/news.html for people upgrading to 0.8.3 or later
since libvirt users are hitting this.
--
Jamie Strandboge |
http://www.canonical.com