[Top][All Lists]

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

Re: [Qemu-devel] [RFC] QCFG: a new mechanism to replace QemuOpts and opt

From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [RFC] QCFG: a new mechanism to replace QemuOpts and option handling
Date: Fri, 18 Mar 2011 18:12:35 +0000

On Tue, Mar 15, 2011 at 1:27 PM, Anthony Liguori <address@hidden> wrote:
> # create a blockdev using probing without relying on implicit keys and
> allowing unsafe probing
> -blockdev
> format.probe.unsafe=on,format.probe.protocol.file.filename=my-image.qcow2,id=ide0-hd0

This is a programmer's user interface :).  I don't think typing
format.probe.protocol.file.filename will make sense to users.  I don't
want to have to learn about 4 sub-objects in order to set the image

I would much prefer:
-blockdev filename=my-image.qcow2,id=id0-hd0,format=probe

> It looks less awkward in config file format:
> [blockdev]
> id = "ide0-hd0"
> format.qcow2.protocol.nbd.hostname = localhost
> format.qcow2.protocol.nbd.port = 1025
> format.qcow2.backing-file.format.qed.protocol.nbd.hostname = localhost
> format.qcow2.backing-file.format.qed.protocol.nbd.port = 1026

Here is the alternative if we don't support composition:

id = "nbd-1025"
protocol = "nbd"
hostname = "localhost"
port = 1025

id = "nbd-1026"
protocol = "nbd"
hostname = "localhost"
port = 1026

id = "qed-nbd-1026"
format = "qed"
image = "nbd-1026"

id = "ide0-hd0"
format = "qcow2"
image = "nbd-1025"
backing_file = "qed-nbd-1026"

I like the simplicity but it becomes so verbose that it is hard to see
what is going on.  Actually I think it's INI syntax's fault:

blockdev id=nbd-1025,protocol=nbd,hostname=localhost,port=1025
blockdev id=nbd-1026,protocol=nbd,hostname=localhost,port=1026
blockdev id=qed-nbd-1026,format=qed,image=nbd-1026
blockdev id=ide0-hd0,format=qcow2,image=nbd-1025,backing_file=qed-nbd-1026

Perhaps the best compromise is to keep composition but implement
shortcuts as suggested by Markus.


reply via email to

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