qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend
@ 2014-07-23 14:07 Chrysostomos Nanakos
  2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 1/5] block: " Chrysostomos Nanakos
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Chrysostomos Nanakos @ 2014-07-23 14:07 UTC (permalink / raw)
  To: qemu-devel; +Cc: kwolf, Chrysostomos Nanakos, stefanha

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

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-08-05  8:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-23 14:07 [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend Chrysostomos Nanakos
2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 1/5] block: " Chrysostomos Nanakos
2014-08-04 14:35   ` [Qemu-devel] [PATCH v8 " Chrysostomos Nanakos
2014-08-05  8:20     ` Stefan Hajnoczi
2014-08-05  8:50       ` Kevin Wolf
2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 2/5] block/archipelago: Implement bdrv_parse_filename() Chrysostomos Nanakos
2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 3/5] block/archipelago: Add support for creating images Chrysostomos Nanakos
2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 4/5] QMP: Add support for Archipelago Chrysostomos Nanakos
2014-07-30 16:33   ` Eric Blake
2014-07-23 14:07 ` [Qemu-devel] [PATCH v7 5/5] qemu-iotests: add support for Archipelago protocol Chrysostomos Nanakos
2014-07-30 15:58 ` [Qemu-devel] [PATCH v7 0/5] Support Archipelago as a QEMU block backend Stefan Hajnoczi
2014-07-30 17:59 ` [Qemu-devel] [PATCH v8 4/5] QMP: Add support for Archipelago Chrysostomos Nanakos
2014-07-31  9:42   ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).