All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] block/export: convert vhost-user-blk-server to block exports API
@ 2020-09-24 15:15 Stefan Hajnoczi
  2020-09-24 15:15 ` [PATCH v2 01/13] block/export: shorten serial string to fit Stefan Hajnoczi
                   ` (13 more replies)
  0 siblings, 14 replies; 21+ messages in thread
From: Stefan Hajnoczi @ 2020-09-24 15:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Laurent Vivier, Thomas Huth, qemu-block,
	Markus Armbruster, Coiby Xu, Max Reitz, Stefan Hajnoczi,
	Paolo Bonzini

v2:
 * Replace unix-socket=str with addr=SocketAddress for consistency with NBD and
   fd passing support. The new syntax is:
   --export vhost-user-blk,addr.type=unix,addr.path=/tmp/vhost-user-blk.sock,...
 * Make addr=SocketAddress mandatory instead of optional [Markus]
 * Update test-vhost-user-blk.c to use new syntax
 * Add patch moving vhost-user-server.h to include/
 * Add patch to use libvhost-user.a instead of compiling it multiple times

This patch series converts Coiby Xu's vhost-user-blk-server from a QOM object
to the block exports API. The block exports API provides a standard QMP and
command-line interface for managing block exports (NBD, FUSE, vhost-user-blk,
etc). A fair amount of init/shutdown code is removed because the block exports
API already takes care of that functionality.

Most of the patches are vhost-user-blk-server cleanups.

The syntax for launching qemu-storage-daemon is:

  $ qemu-storage-daemon \
      --blockdev file,node-name=drive0,filename=test.img \
      --export vhost-user-blk,node-name=drive0,id=export0,writable=on,addr.type=unix,addr.path=/tmp/vhost-user-blk.sock

QEMU can connect to the vhost-user-blk export like this:

  $ qemu-system-x86_64 \
      -M accel=kvm,memory-backend=mem \
      -m 1G \
      -object memory-backend-memfd,size=1G,id=mem \
      -cpu host \
      -chardev socket,path=/tmp/vhost-user-blk.sock,id=char0 \
      -device vhost-user-blk-pci,chardev=char0

Based-on: 20200918080912.321299-1-coiby.xu@gmail.com ("[PATCH v10 0/7] vhost-user block device backend implementation")
Based-on: 20200907182011.521007-1-kwolf@redhat.com ("[PATCH 00/29] block/export: Add infrastructure and QAPI for block exports")

Stefan Hajnoczi (13):
  block/export: shorten serial string to fit
  util/vhost-user-server: s/fileds/fields/ typo fix
  util/vhost-user-server: drop unnecessary QOM cast
  util/vhost-user-server: drop unnecessary watch deletion
  block/export: consolidate request structs into VuBlockReq
  util/vhost-user-server: drop unused DevicePanicNotifier
  util/vhost-user-server: fix memory leak in vu_message_read()
  util/vhost-user-server: check EOF when reading payload
  util/vhost-user-server: rework vu_client_trip() coroutine lifecycle
  block/export: report flush errors
  block/export: convert vhost-user-blk server to block export API
  util/vhost-user-server: move header to include/
  util/vhost-user-server: use static library in meson.build

 MAINTAINERS                                |   4 +-
 qapi/block-export.json                     |  21 +-
 block/export/vhost-user-blk-server.h       |  23 +-
 {util => include/qemu}/vhost-user-server.h |  32 +-
 block/export/export.c                      |   8 +-
 block/export/vhost-user-blk-server.c       | 525 ++++++---------------
 tests/qtest/vhost-user-blk-test.c          |   2 +-
 util/vhost-user-server.c                   | 334 ++++++-------
 block/export/meson.build                   |   1 +
 block/meson.build                          |   1 -
 contrib/libvhost-user/meson.build          |   1 +
 meson.build                                |   6 +-
 tests/qtest/meson.build                    |   2 +-
 util/meson.build                           |   4 +-
 14 files changed, 376 insertions(+), 588 deletions(-)
 rename {util => include/qemu}/vhost-user-server.h (72%)

-- 
2.26.2


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

end of thread, other threads:[~2020-10-09 10:21 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-24 15:15 [PATCH v2 00/13] block/export: convert vhost-user-blk-server to block exports API Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 01/13] block/export: shorten serial string to fit Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 02/13] util/vhost-user-server: s/fileds/fields/ typo fix Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 03/13] util/vhost-user-server: drop unnecessary QOM cast Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 04/13] util/vhost-user-server: drop unnecessary watch deletion Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 05/13] block/export: consolidate request structs into VuBlockReq Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 06/13] util/vhost-user-server: drop unused DevicePanicNotifier Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 07/13] util/vhost-user-server: fix memory leak in vu_message_read() Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 08/13] util/vhost-user-server: check EOF when reading payload Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 09/13] util/vhost-user-server: rework vu_client_trip() coroutine lifecycle Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 10/13] block/export: report flush errors Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 11/13] block/export: convert vhost-user-blk server to block export API Stefan Hajnoczi
2020-09-30  5:28   ` Markus Armbruster
2020-09-30  9:45     ` Stefan Hajnoczi
2020-09-30 14:33       ` Markus Armbruster
2020-10-01 15:25         ` Stefan Hajnoczi
2020-10-02  5:20           ` Markus Armbruster
2020-10-08 16:02             ` Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 12/13] util/vhost-user-server: move header to include/ Stefan Hajnoczi
2020-09-24 15:15 ` [PATCH v2 13/13] util/vhost-user-server: use static library in meson.build Stefan Hajnoczi
2020-10-09 10:18 ` [PATCH v2 00/13] block/export: convert vhost-user-blk-server to block exports API Stefan Hajnoczi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.