On Fri, Oct 07, 2016 at 11:09:54AM -0400, John Ferlan wrote:
On 09/27/2016 08:24 AM, Martin Kletzander wrote:The old ivshmem is deprecated in QEMU, so let's use the better ivshmem-{plain,doorbell} variants instead.Perhaps explained a bit differently (my understanding ;-))... Older versions of qemu had one type (ivshmem - the current default), but newer versions of qemu will force selection of a specific type using "plain" or "doorbell" as the model type depending on which "features" are desired (??) [fill in the details]
Old ivshmem could've been optionally used with or without "server" option (it would connect to a UNIX socket and talk to the server and so on. That got broken up to two separate new devices. One without server (-plain) and one with the server (-doorbell). As mentioned in one of the previous series, I could've add model named something like 'ivshmem-newer' and under the covers choose -plain or -doorbell, but 1) it would be really stupid and 2) the differentiation could change in the future and being specific is better than being bitten in the butt later on.
I guess the nagging question is - what happens if someone "chooses" to have <model type='ivshmem'> in this newer world? Does the deprecation from qemu kick in and the domain cannot start? We should note that somehow/somewhere.
They get a warning in the log saying "ivshmem is deprecated, please use ivshmem-plain or ivshmem-doorbell instead". And if QEMU stops supporting that, we'll know about it thanks to the capabilities and tell the user that the model is not available (like for _almost_ all other devices).
Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> --- docs/schemas/domaincommon.rng | 2 ++ src/conf/domain_conf.c | 4 +++- src/conf/domain_conf.h | 2 ++ src/qemu/qemu_command.c | 7 +++++++ 4 files changed, 14 insertions(+), 1 deletion(-)docs/formatdomain.html.in needs to change here too In particular what constitutes each setting - that is are there XML elements that would or wouldn't make sense for the type of shmem device (I'm thinking of Daniel's table here). BTW: When using your "Since" tags, it'll need to be clear which version of qemu no longer supports "type='ivshmem'" and forces someone to choose -plain or -doorbell.
I'd rather remove the Since (at least for QEMU, maybe leave one for libvirt), the version doesn't mean poopsicle. I can see the nitpicky people saying: "look, I have this QEMU and it says it shouldn't be supported and it is, isn't this a bug?" because some distribution chose to backport one patch. I don't think the versions make sense, everyone can lookup when it was introduced. I believe it's not that hard.
ACK w/ the doc change John
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list