[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 8/9] blockdev: add x-blockdev-set-i
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 8/9] blockdev: add x-blockdev-set-iothread testing command |
Date: |
Wed, 6 Dec 2017 11:29:26 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Tue, Dec 05, 2017 at 08:40:42AM -0600, Eric Blake wrote:
> On 12/05/2017 04:41 AM, Stefan Hajnoczi wrote:
> > +##
> > +# @x-blockdev-set-iothread:
> > +#
> > +# Move @node and its children into the @iothread. If @iothread is empty
> > then
> > +# move @node and its children into the main loop.
> > +#
> > +# The node must not be attached to a BlockBackend.
> > +#
> > +# @node-name: the name of the block driver node
> > +#
> > +# @iothread: the name of the IOThread object
> > +#
>
> > +# 2. Move a node into the main loop
> > +# -> { "execute": "x-blockdev-set-iothread",
> > +# "arguments": { "node-name": "disk1",
> > +# "iothread": "" } }
>
> Eww. Special casing of the empty string. Would it be better design to
> have iothread be optional, and to omit it to move a node into the main
> loop? Or use the StrOrNull type to allow JSON null instead of "" to
> mean the main loop?
I deliberated about this and chose the empty string because it has
special meaning in other QMP commands too. But I agree that it's ugly.
StrOrNull is cleaner than using the empty string. Making it optional
feels strange to me so I'll switch to StrOrNull.
Stefan
signature.asc
Description: PGP signature
- Re: [Qemu-block] [Qemu-devel] [PATCH 1/9] blockdev: hold AioContext for bdrv_unref() in external_snapshot_clean(), (continued)
- [Qemu-block] [PATCH 2/9] block: don't keep AioContext acquired after external_snapshot_prepare(), Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 3/9] block: don't keep AioContext acquired after drive_backup_prepare(), Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 4/9] block: don't keep AioContext acquired after blockdev_backup_prepare(), Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 5/9] block: don't keep AioContext acquired after internal_snapshot_prepare(), Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 6/9] block: drop unused BlockDirtyBitmapState->aio_context field, Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 7/9] iothread: add iothread_by_id() API, Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 8/9] blockdev: add x-blockdev-set-iothread testing command, Stefan Hajnoczi, 2017/12/05
- [Qemu-block] [PATCH 9/9] qemu-iotests: add 202 external snapshots IOThread test, Stefan Hajnoczi, 2017/12/05