All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
* [QEMU HCI-8.0 PATCH v4 0/5] vhost-blk change backend setup
@ 2026-09-08 12:52 Andrey Zhadchenko
  2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 1/5] vhost-blk: improve vhost_blk_device_realize cleanup Andrey Zhadchenko
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Andrey Zhadchenko @ 2026-09-08 12:52 UTC (permalink / raw)
  To: svt-core; +Cc: den, andrey.drobyshev

This series changes vhost-blk backend setup from block node to
a path to the device.
Getting fd from block node was a hack in the first place. It
looked ugly and broke encapsulation.
Change vhost-blk to have it's own property so it opens and owns
the descriptor.

Patches #4 implement auto-resize by watching netlink. The descripor
comes prepared with some filter from outside.

v2:
patch#1
 - old patch dropped

patch#2
 - moved double close fix to new 'do not double close vhostfd' patch
 - dropped DEFINE_BLOCK_PROPERTIES_BASE exposition to the outside. Let's
just use defaults for now. We can later check if tweaking this values
makes any difference and add them back.
 - change vhost_blk_update_size() to return zero or error and move 'changed'
to a separate argument
 - changed lseek to BLKGETSIZE64 (we already use BLKROGET anyway)

patch#3
 - check BLKROGET only if rw was requested

patch#4
 - rework patch a bit: now we expect opened and filtered fd from
libvirt.

patch#5
 - old one dropped, setup moved to libvirt
 - added new patch to support uevent socket cpr

v3:
patch#1
 - extend the double-close fix to preserve and free vqs after
vhost_dev_init() clears dev

patch#2
 - make vhost_blk_update_size() return the changed flag directly
 - use ERRP_GUARD() for reliable error propagation

patch#4
 - accept a monitor fd name passed with getfd instead of a
/dev/fdset path
 - verify that the socket is subscribed to kernel uevents
 - detach the socket after a permanent receive error

patch#5
 - use the proxy ID for the CPR fd name and block CPR without an ID
 - validate restored sockets and improve failure cleanup

v4:
patch#2
 - document the default geometry values

patch#4
 - keep the uevent socket local until it has been validated

patch#5
 - split cold-boot and restore socket setup paths
 - reject restored socket/property mismatches
 - block CPR after a permanent uevent receive error

Andrey Zhadchenko (5):
  vhost-blk: improve vhost_blk_device_realize cleanup
  vhost-blk: change backend setup
  vhost-blk: add read-only flag
  vhost-blk: watch the device for resize events
  vhost-blk: preserve the uevent socket across cpr-exec

 hw/block/vhost-blk.c          | 452 ++++++++++++++++++++++++++++++----
 include/hw/virtio/vhost-blk.h |  11 +-
 2 files changed, 415 insertions(+), 48 deletions(-)

-- 
2.43.5


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

end of thread, other threads:[~2026-09-08 13:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-08 12:52 [QEMU HCI-8.0 PATCH v4 0/5] vhost-blk change backend setup Andrey Zhadchenko
2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 1/5] vhost-blk: improve vhost_blk_device_realize cleanup Andrey Zhadchenko
2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 2/5] vhost-blk: change backend setup Andrey Zhadchenko
2026-09-08 13:34   ` Andrey Drobyshev
2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 3/5] vhost-blk: add read-only flag Andrey Zhadchenko
2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 4/5] vhost-blk: watch the device for resize events Andrey Zhadchenko
2026-09-08 12:52 ` [QEMU HCI-8.0 PATCH v4 5/5] vhost-blk: preserve the uevent socket across cpr-exec Andrey Zhadchenko
2026-09-08 13:34   ` Andrey Drobyshev
2026-09-08 13:34 ` [QEMU HCI-8.0 PATCH v4 0/5] vhost-blk change backend setup Andrey Drobyshev

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.