qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Insufficiently documented deprecated command arguments


From: Peter Krempa
Subject: Re: Insufficiently documented deprecated command arguments
Date: Wed, 11 Dec 2019 10:33:17 +0100
User-agent: Mutt/1.12.1 (2019-06-15)

On Wed, Dec 11, 2019 at 09:12:41 +0100, Markus Armbruster wrote:
> I went through the QAPI schema looking for deprecated stuff not
> mentioned in qemu-deprecated.texi.  Here's what I found:
> 
>     Commit b33945cfff "block: Accept device model name for
>     blockdev-open/close-tray" (v2.8.0) deprecated blockdev-open-tray,
>     blockdev-close-tray argument @device.

Libvirt uses these commands only in 'blockdev' mode. We use the qom
name/path [1] as the value for @id field. We never used @device.

>     Commit 70e2cb3bd7 "block: Accept device model name for
>     blockdev-change-medium" (v2.8.0) deprecated blockdev-change-medium
>     argument @device.

Same as above.

>     Commit 7a9877a026 "block: Accept device model name for
>     block_set_io_throttle" (v2.8.0) deprecated block_set_io_throttle
>     argument @device.

This one is more complex. The command is used both in 'blockdev' and in
'drive' mode:

In 'drive' mode we pass the alias of the 'drive' as the @device
argument.

In 'blockdev' mode we pass the qom name as @id

>     Commit c01c214b69 "block: remove all encryption handling APIs"
>     (v2.10.0) deprecated query-named-block-nodes result field
>     encryption_key_missing and query-block result field
>     inserted.encryption_key_missing.

We don't extract or use the 'encryption_key_missing' at all.


>     Commit c42e8742f5 "block: Use JSON null instead of "" to disable
>     backing file" (v2.10.0) deprecated blockdev-add empty string
>     argument @backing.

This is used in 'blockdev' mode only and we always pass the JSON null or
a node name string.

>     These were missed in commit eb22aeca65 "docs: document deprecation
>     policy & deprecated features in appendix" (v2.10.0).
> 
>     Commit 3c605f4074 "commit: Add top-node/base-node options" (v3.1.0)
>     deprecated block-commit arguments @base and @top.

This command also has two modes:

In 'drive' mode we pass in path strings as @base and @ top.

In 'blockdev' mode we pass in nodenames as @base-node and @top-node.

Starting from qemu-4.2 libvirt uses 'blockdev' mode for VMs unless an SD
card is configured as we didn't convert to the '-device' approach for
those as AFAIK not everything is possible to be converted.

> I can update qemu-deprecated.texi for these.
> 
> Now my question: I wonder whether we want to remove any of them right
> away.

Feel free to delete any unused ones. I'm afraid that -drive mode will
need to be supported for a while until we can convert the sd-cards too.


[1]: The qom name used by libvirt is generated is generated here:

https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_alias.c;h=93bdcb7548757de547b2ccb01d0a2af16d5a7cc6;hb=HEAD#l224




reply via email to

[Prev in Thread] Current Thread [Next in Thread]