[libvirt] QEMU 1.6 and drive discard parameter

Osier Yang jyang at redhat.com
Thu Oct 31 08:07:15 UTC 2013


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.

Regards,
Osier




More information about the libvir-list mailing list