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.