[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block back
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend |
Date: |
Wed, 30 Jul 2014 16:58:13 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Jul 23, 2014 at 05:07:28PM +0300, Chrysostomos Nanakos wrote:
> v7:
> - Fix coding style issues.
> - Rename __archipelago_submit_request function to archipelago_submit_request.
> - Set X_NONBLOCK flag to xseg_receive().
> - Return -EIO to .bdrv_getlength() if archipelago_volume_info() fails.
> - Fix segment_name mem leak.
> - Bump version number from 2.1 to 2.2 in qapi/block-core.json file concerning
> QEMU Archipelago support.
> - Convert qemu_aio_wait() to aio_poll().
> - Remove qemu_blockalign() and memcpy() call and use qemu_iovec_to_buf()
> directly.
>
> v6:
> - Split v5 1/4 patch into two different patches. First one implements
> QMP structured options and the second one implements bdrv_parse_filename().
>
> v5:
> - Remove useless qemu_aio_count variable from BDRVArchipelagoState struct.
> - Cleanup xseg signal descriptor, call xseg_quit_local_signal() when closing
> block device.
> - Fix ds and volname leaks.
> - Make xseg request handler thread joinable and wait until exits before
> destroying condition variables and mutexes. Thanks to Stefan Hajnoczi for
> pointing this out.
> - Remove error_propagate() useless call.
> - Use memcpy instead of strncpy.
> - Remove check after trying to allocate memory with g_malloc().
> - Remove pipe code and complete AIO by introducing QEMU "bottom-half".
> - Add Archipelago shared memory segment name in options list and QMP.
> - Remove functions archipelago_aio_read()/_write() and introduce new
> and simpler function, __archipelago_submit_request().
> Refactor archipelago_aio_segmented_rw() function.
> - Enable Archipelago support in qemu-iotests
>
> v4:
> - Move Archipelago QMP support from qapi-schema.json file to
> qapi/block-core.json. Fixe various typographic errors, thanks to
> Kevin Wolf and Eric Blake.
> - Use new .create_opts format, define new QemuOptsList structure and refactor
> qemu_archipelago_create function.
>
> v3:
> - Break down initial patch from one to three. First patch implements
> Archipelago QEMU block backend with read/write functionality.
> Second patch implements .bdrv_create() and adds support for creating
> Archipelago images. Third patch adds QMP support.
> - Remove global variable g_xseg_init, make xseg_initialize(), xseg_join()
> and xseg_leave() reentrant and thread-safe.
> - Introduce new enum BlockdevOptionsArchipelago for the QMP support.
>
> v2:
> - Implement .bdrv_parse_filename() function to convert the shortuct version
> with a single string to the individual options.
> - Remove global variables and move relevant fields to ArchipelagoAIOCB
> struct.
> - Remove ArchipelagoConf struct and use the relevant fields as individual
> arguments.
> - Remove ArchipelagoCB struct and use ArchipelagoAIOCB instead.
> - Remove ArchipelagoThread struct and move relevant fields to
> ArchipelagoAIOCB instead. Now an I/O thread is spawned for per-device to
> handle all async I/O requests.
> - Remove double data copy, use qemu_iovec_from_buf() and copy data directly
> to the destination buffer.
> - Remove archipelago_aio_bh_cb() function, a full request is completed in
> qemu_archipelago_complete_aio() instead.
> - Resolve proposed changes from Kevin Wolf and miscellaneous style issues.
>
> Chrysostomos Nanakos (5):
> block: Support Archipelago as a QEMU block backend
> block/archipelago: Implement bdrv_parse_filename()
> block/archipelago: Add support for creating images
> QMP: Add support for Archipelago
> qemu-iotests: add support for Archipelago protocol
>
> MAINTAINERS | 6 +
> block/Makefile.objs | 2 +
> block/archipelago.c | 1064
> ++++++++++++++++++++++++++++++++++++++++++
> configure | 40 ++
> qapi/block-core.json | 38 +-
> tests/qemu-iotests/common | 6 +
> tests/qemu-iotests/common.rc | 9 +-
> 7 files changed, 1161 insertions(+), 4 deletions(-)
> create mode 100644 block/archipelago.c
Thanks, applied to my block-next tree:
https://github.com/stefanha/qemu/commits/block-next
Stefan
pgpTmWstyeowN.pgp
Description: PGP signature
- [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend, Chrysostomos Nanakos, 2014/07/23
- [Qemu-devel] [PATCH v7 1/5] block: Support Archipelago as a QEMU block backend, Chrysostomos Nanakos, 2014/07/23
- [Qemu-devel] [PATCH v7 2/5] block/archipelago: Implement bdrv_parse_filename(), Chrysostomos Nanakos, 2014/07/23
- [Qemu-devel] [PATCH v7 4/5] QMP: Add support for Archipelago, Chrysostomos Nanakos, 2014/07/23
- [Qemu-devel] [PATCH v7 3/5] block/archipelago: Add support for creating images, Chrysostomos Nanakos, 2014/07/23
- [Qemu-devel] [PATCH v7 5/5] qemu-iotests: add support for Archipelago protocol, Chrysostomos Nanakos, 2014/07/23
- Re: [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v8 4/5] QMP: Add support for Archipelago, Chrysostomos Nanakos, 2014/07/30