[libvirt] QEMU 1.6 and drive discard parameter
Amos Kong
akong at redhat.com
Thu Oct 31 08:35:43 UTC 2013
On Thu, Oct 31, 2013 at 04:07:15PM +0800, Osier Yang wrote:
> CC to Amos.
>
> On 30/10/13 16:19, whitearchey wrote:
> >
> >In QEMU 1.6 parameters of 'drive' option were removed:
> >
> >QemuOptsList qemu_drive_opts = {
> > .name = "drive",
> > .head = QTAILQ_HEAD_INITIALIZER(qemu_drive_opts.head),
> > .desc = {
> > /*
> > * no elements => accept any params
> > * validation will happen later
> > */
> > { /* end of list */ }
> > },
> >};
> >
> >But libvirt still checks for QEMU_CAPS_DRIVE_DISCARD using QMP
> >query-command-line-options:
> >
> >static struct virQEMUCapsCommandLineProps virQEMUCapsCommandLine[] = {
> > { "machine", "mem-merge", QEMU_CAPS_MEM_MERGE },
> > { "drive", "discard", QEMU_CAPS_DRIVE_DISCARD },
> > { "realtime", "mlock", QEMU_CAPS_MLOCK },
> >};
> >...
> >qemuMonitorGetCommandLineOptionParameters(mon,
> >virQEMUCapsCommandLine[i].option, &values)
> >
> >So, when I try to use discard option in domain xml I get this error:
> >
> >error : qemuBuildDriveStr:3986 : unsupported configuration:
> >discard is not supported by this QEMU binary
> >
>
> It's a qemu problem, the command "query-command-line-options" should
> keep working
> after the structures were changed for any option, in this case, all
> the option descs were
> moved to "qemu_common_drive_opts" instead.
{ 'execute': 'query-command-line-options', 'arguments': { 'option': 'drive' } }
{
"return": [
{
"parameters": [
],
"option": "drive"
}
]
}
It returns a NULL parameters list, that's true, some error handling
should be done by libvirt.
> Regards,
> Osier
--
Amos.
More information about the libvir-list
mailing list