Re: [PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux

2022-05-04 Thread Markus Armbruster
Leonardo Bras writes: > Add property that allows zero-copy migration of memory pages > on the sending side, and also includes a helper function > migrate_use_zero_copy_send() to check if it's enabled. > > No code is introduced to actually do the migration, but it allow > future implementations

Re: [PATCH v11 2/7] QIOChannelSocket: Implement io_writev zero copy flag & io_flush for CONFIG_LINUX

2022-05-04 Thread Leonardo Bras Soares Passos
On Wed, May 4, 2022 at 4:53 PM Peter Xu wrote: > > On Wed, May 04, 2022 at 04:18:31PM -0300, Leonardo Bras wrote: > > +/* > > + * Zero-copy defines bellow are included to avoid breaking builds on > > systems > > + * that don't support MSG_ZEROCOPY, while keeping the functions more > > readable

Re: [PATCH v11 2/7] QIOChannelSocket: Implement io_writev zero copy flag & io_flush for CONFIG_LINUX

2022-05-04 Thread Peter Xu
On Wed, May 04, 2022 at 04:18:31PM -0300, Leonardo Bras wrote: > +/* > + * Zero-copy defines bellow are included to avoid breaking builds on systems > + * that don't support MSG_ZEROCOPY, while keeping the functions more readable > + * (without a lot of ifdefs). > + */ > +#ifndef MSG_ZEROCOPY >

iotests and python dependencies

2022-05-04 Thread John Snow
Howdy! So, I want to finally delete python/qemu/qmp from qemu.git, and this creates a small problem -- namely, iotests needs access to it in order to run the python-based tests. What I think needs to happen is that we create a virtual environment that installs python/qemu/. The reason this

[PATCH v11 7/7] multifd: Implement zero copy write in multifd migration (multifd-zero-copy)

2022-05-04 Thread Leonardo Bras
Implement zero copy send on nocomp_send_write(), by making use of QIOChannel writev + flags & flush interface. Change multifd_send_sync_main() so flush_zero_copy() can be called after each iteration in order to make sure all dirty pages are sent before a new iteration is started. It will also

[PATCH v11 6/7] multifd: Send header packet without flags if zero-copy-send is enabled

2022-05-04 Thread Leonardo Bras
Since d48c3a0445 ("multifd: Use a single writev on the send side"), sending the header packet and the memory pages happens in the same writev, which can potentially make the migration faster. Using channel-socket as example, this works well with the default copying mechanism of sendmsg(), but

[PATCH v11 2/7] QIOChannelSocket: Implement io_writev zero copy flag & io_flush for CONFIG_LINUX

2022-05-04 Thread Leonardo Bras
For CONFIG_LINUX, implement the new zero copy flag and the optional callback io_flush on QIOChannelSocket, but enables it only when MSG_ZEROCOPY feature is available in the host kernel, which is checked on qio_channel_socket_connect_sync() qio_channel_socket_flush() was implemented by counting

[PATCH v11 0/7] MSG_ZEROCOPY + multifd

2022-05-04 Thread Leonardo Bras
This patch series intends to enable MSG_ZEROCOPY in QIOChannel, and make use of it for multifd migration performance improvement, by reducing cpu usage. Patch #1 creates new callbacks for QIOChannel, allowing the implementation of zero copy writing. Patch #2 implements io_writev flags and

[PATCH v11 1/7] QIOChannel: Add flags on io_writev and introduce io_flush callback

2022-05-04 Thread Leonardo Bras
Add flags to io_writev and introduce io_flush as optional callback to QIOChannelClass, allowing the implementation of zero copy writes by subclasses. How to use them: - Write data using qio_channel_writev*(...,QIO_CHANNEL_WRITE_FLAG_ZERO_COPY), - Wait write completion with qio_channel_flush().

[PATCH v11 5/7] multifd: multifd_send_sync_main now returns negative on error

2022-05-04 Thread Leonardo Bras
Even though multifd_send_sync_main() currently emits error_reports, it's callers don't really check it before continuing. Change multifd_send_sync_main() to return -1 on error and 0 on success. Also change all it's callers to make use of this change and possibly fail earlier. (This change is

[PATCH v11 4/7] migration: Add migrate_use_tls() helper

2022-05-04 Thread Leonardo Bras
A lot of places check parameters.tls_creds in order to evaluate if TLS is in use, and sometimes call migrate_get_current() just for that test. Add new helper function migrate_use_tls() in order to simplify testing for TLS usage. Signed-off-by: Leonardo Bras Reviewed-by: Juan Quintela

[PATCH v11 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux

2022-05-04 Thread Leonardo Bras
Add property that allows zero-copy migration of memory pages on the sending side, and also includes a helper function migrate_use_zero_copy_send() to check if it's enabled. No code is introduced to actually do the migration, but it allow future implementations to enable/disable this feature. On

Re: [PATCH 04/16] compiler.h: add QEMU_{BEGIN, END}_IGNORE_INITIALIZER_OVERRIDES

2022-05-04 Thread Peter Maydell
On Wed, 4 May 2022 at 18:36, wrote: > > From: Marc-André Lureau > > clang has this default warning which QEMU codes triggers in many > situations. However, other projects in general may not want to disable > globally the warning but only in limited specific code blocks. > > Signed-off-by:

Re: [PATCH 03/16] tests: make libqmp buildable for win32

2022-05-04 Thread Thomas Huth
On 04/05/2022 19.30, marcandre.lur...@redhat.com wrote: From: Marc-André Lureau Signed-off-by: Marc-André Lureau --- tests/qtest/libqmp.h | 2 ++ tests/qtest/libqmp.c | 35 +-- 2 files changed, 31 insertions(+), 6 deletions(-) Reviewed-by: Thomas Huth

Re: [PATCH 06/16] include: adjust header guards after renaming

2022-05-04 Thread Stefan Weil via
Am 04.05.22 um 19:30 schrieb marcandre.lur...@redhat.com: From: Marc-André Lureau Signed-off-by: Marc-André Lureau --- include/qemu/help-texts.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qemu/help-texts.h b/include/qemu/help-texts.h index

Re: [PATCH 02/16] util/win32: simplify qemu_get_local_state_dir()

2022-05-04 Thread Stefan Weil via
Am 04.05.22 um 19:30 schrieb marcandre.lur...@redhat.com: From: Marc-André Lureau SHGetFolderPath() is a deprecated API: https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpatha It is a wrapper for SHGetKnownFolderPath() and CSIDL_COMMON_PATH is mapped

[PATCH 16/16] qga/wixl: replace QEMU_GA_MSI_MINGW_BIN_PATH with glib bindir

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Use more conventional variables to set the location of pre-built DLL/bin. Signed-off-by: Marc-André Lureau --- configure | 9 ++--- meson.build | 5 - qga/installer/qemu-ga.wxs | 24 qga/meson.build

[PATCH 15/16] qga/wixl: simplify some pre-processing

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Sadly, wixl doesn't have 'elif'. Signed-off-by: Marc-André Lureau --- qga/installer/qemu-ga.wxs | 20 +++- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs index

[PATCH 13/16] qga/wixl: prefer variables over environment

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau No need to setup an environment or to check if the variable is undefined manually. Signed-off-by: Marc-André Lureau --- qga/installer/qemu-ga.wxs | 30 +- qga/meson.build | 9 - 2 files changed, 13 insertions(+), 26

[PATCH 11/16] qga: replace qemu_open_old() with qemu_open_cloexec()

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau qemu_open_old() uses qemu_open_internal() which handles special "/dev/fdset/" path for monitor fd sets, set CLOEXEC, and uses Error reporting (and some O_DIRECT special error casing). The monitor fdset handling is unnecessary for qga, use qemu_open_cloexec() instead.

[PATCH 14/16] qga/wixl: require Mingw_bin

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau No clear reason to make guesses here. Signed-off-by: Marc-André Lureau --- qga/installer/qemu-ga.wxs | 9 - 1 file changed, 9 deletions(-) diff --git a/qga/installer/qemu-ga.wxs b/qga/installer/qemu-ga.wxs index 8a19aa165651..651db6e51cda 100644 ---

[PATCH 10/16] qapi/error: add g_autoptr(Error) support

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Sometime, ERRP_GUARD() isn't what you are looking for, because the function doesn't throw errors, yet auto-cleaning is nice to have. Signed-off-by: Marc-André Lureau --- include/qapi/error.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/qapi/error.h

[PATCH 07/16] qga: flatten safe_open_or_create()

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau There is a bit too much branching in the function, this can be simplified a bit, and have a common exit point thanks to ERRP_PROPAGATE. This also helps with the following error handling changes. Signed-off-by: Marc-André Lureau --- qga/commands-posix.c | 126

[PATCH 06/16] include: adjust header guards after renaming

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Signed-off-by: Marc-André Lureau --- include/qemu/help-texts.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/qemu/help-texts.h b/include/qemu/help-texts.h index ba32cc8b1f39..4f265fed8df1 100644 --- a/include/qemu/help-texts.h +++

[PATCH 05/16] qobject/json-lexer: disable -Winitializer-overrides warnings

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Silence the clang warning when building the code with default clang, outside of QEMU. Signed-off-by: Marc-André Lureau --- qobject/json-lexer.c | 4 1 file changed, 4 insertions(+) diff --git a/qobject/json-lexer.c b/qobject/json-lexer.c index

[PATCH 08/16] osdep: export qemu_open_cloexec()

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Used in the next patch, to simplify qga code. Signed-off-by: Marc-André Lureau --- include/qemu/osdep.h | 1 + util/osdep.c | 10 -- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index

[PATCH 09/16] qga: use qemu_open_cloexec() for safe_open_or_create()

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau The function takes care of setting CLOEXEC, and reporting error. Signed-off-by: Marc-André Lureau --- qga/commands-posix.c | 11 +++ 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/qga/commands-posix.c b/qga/commands-posix.c index

[PATCH 12/16] test/qga: use G_TEST_DIR to locate os-release test file

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau This a more accurate way to lookup the test data, and will allow to move the test in a subproject. Signed-off-by: Marc-André Lureau --- tests/unit/test-qga.c | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tests/unit/test-qga.c

[PATCH 02/16] util/win32: simplify qemu_get_local_state_dir()

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau SHGetFolderPath() is a deprecated API: https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetfolderpatha It is a wrapper for SHGetKnownFolderPath() and CSIDL_COMMON_PATH is mapped to FOLDERID_ProgramData:

[PATCH 04/16] compiler.h: add QEMU_{BEGIN, END}_IGNORE_INITIALIZER_OVERRIDES

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau clang has this default warning which QEMU codes triggers in many situations. However, other projects in general may not want to disable globally the warning but only in limited specific code blocks. Signed-off-by: Marc-André Lureau --- include/qemu/compiler.h | 11

[PATCH 01/16] include: move qemu_*_exec_dir() to cutils

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau The function is required by get_relocated_path() (already in cutils), and used by qemu-ga and may be generally useful. Signed-off-by: Marc-André Lureau --- include/qemu/cutils.h| 7 ++ include/qemu/osdep.h | 8 -- qemu-io.c

[PATCH 03/16] tests: make libqmp buildable for win32

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Signed-off-by: Marc-André Lureau --- tests/qtest/libqmp.h | 2 ++ tests/qtest/libqmp.c | 35 +-- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/tests/qtest/libqmp.h b/tests/qtest/libqmp.h index 94aa97328a17..772f18b73ba3

[PATCH 00/16] Misc cleanups

2022-05-04 Thread marcandre . lureau
From: Marc-André Lureau Hi, Perhaps the last series of preliminary patches before I propose a longer series to add qemu-common & qga meson subprojects. That's why they are mostly QGA-related cleanups. Thanks for the reviews! Marc-André Lureau (16): include: move qemu_*_exec_dir() to cutils

Re: [PATCH v9 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux

2022-05-04 Thread Leonardo Bras Soares Passos
On Wed, May 4, 2022 at 7:48 AM Markus Armbruster wrote: > > Leonardo Bras writes: > > > Add property that allows zero-copy migration of memory pages > > on the sending side, and also includes a helper function > > migrate_use_zero_copy_send() to check if it's enabled. > > > > No code is

[PULL 13/13] coroutine-win32: use QEMU_DEFINE_STATIC_CO_TLS()

2022-05-04 Thread Kevin Wolf
From: Stefan Hajnoczi Thread-Local Storage variables cannot be used directly from coroutine code because the compiler may optimize TLS variable accesses across qemu_coroutine_yield() calls. When the coroutine is re-entered from another thread the TLS variables from the old thread must no longer

[PULL 10/13] iotests/reopen-file: Test reopening file child

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz This should work for all format drivers that support reopening, so test it. (This serves as a regression test for HEAD^: This test used to fail for VMDK before HEAD^.) Signed-off-by: Hanna Reitz Message-Id: <20220314162719.65384-3-hre...@redhat.com> Signed-off-by: Kevin Wolf

[PULL 12/13] coroutine: use QEMU_DEFINE_STATIC_CO_TLS()

2022-05-04 Thread Kevin Wolf
From: Stefan Hajnoczi Thread-Local Storage variables cannot be used directly from coroutine code because the compiler may optimize TLS variable accesses across qemu_coroutine_yield() calls. When the coroutine is re-entered from another thread the TLS variables from the old thread must no longer

[PULL 04/13] vhost-user: Don't pass file descriptor for VHOST_USER_REM_MEM_REG

2022-05-04 Thread Kevin Wolf
The spec clarifies now that QEMU should not send a file descriptor in a request to remove a memory region. Change it accordingly. For libvhost-user, this is a bug fix that makes it compatible with rust-vmm's implementation that doesn't send a file descriptor. Keep accepting, but ignoring a file

[PULL 11/13] coroutine-ucontext: use QEMU_DEFINE_STATIC_CO_TLS()

2022-05-04 Thread Kevin Wolf
From: Stefan Hajnoczi Thread-Local Storage variables cannot be used directly from coroutine code because the compiler may optimize TLS variable accesses across qemu_coroutine_yield() calls. When the coroutine is re-entered from another thread the TLS variables from the old thread must no longer

[PULL 06/13] qcow2: Do not reopen data_file in invalidate_cache

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz qcow2_co_invalidate_cache() closes and opens the qcow2 file, by calling qcow2_close() and qcow2_do_open(). These two functions must thus be usable from both a global-state and an I/O context. As they are, they are not safe to call in an I/O context, because they use

[PULL 07/13] Revert "main-loop: Disable GLOBAL_STATE_CODE() assertions"

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz This reverts commit b1c073490553f80594b903ceedfc7c1aef6b1b19. (We wanted to do so once the 7.1 tree opens, which has happened. The issue reported in https://gitlab.com/qemu-project/qemu/-/issues/945 should be fixed by the preceding patches.) Signed-off-by: Hanna Reitz

[PULL 08/13] iotests: Add regression test for issue 945

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz Create a VM with a BDS in an iothread, add -incoming defer to the command line, and then export this BDS via NBD. Doing so should not fail an assertion. Signed-off-by: Hanna Reitz Message-Id: <20220427114057.36651-5-hre...@redhat.com> Reviewed-by: Eric Blake Tested-by: Eric

[PULL 05/13] block: Classify bdrv_get_flags() as I/O function

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz This function is safe to call in an I/O context, and qcow2_do_open() does so (invoked in an I/O context by qcow2_co_invalidate_cache()). Signed-off-by: Hanna Reitz Message-Id: <20220427114057.36651-2-hre...@redhat.com> Reviewed-by: Eric Blake Signed-off-by: Kevin Wolf ---

[PULL 00/13] Block layer patches

2022-05-04 Thread Kevin Wolf
The following changes since commit 2e3408b3cc7de4e87a9adafc8c19bfce3abec947: Merge tag 'misc-pull-request' of gitlab.com:marcandre.lureau/qemu into staging (2022-05-03 09:13:17 -0700) are available in the Git repository at: git://repo.or.cz/qemu/kevin.git tags/for-upstream for you to

[PULL 09/13] block/vmdk: Fix reopening bs->file

2022-05-04 Thread Kevin Wolf
From: Hanna Reitz VMDK disk data is stored in extents, which may or may not be separate from bs->file. VmdkExtent.file points to where they are stored. Each that is stored in bs->file will simply reuse the exact pointer value of bs->file. (That is why vmdk_free_extents() will unref

[PULL 01/13] qemu-img: properly list formats which have consistency check implemented

2022-05-04 Thread Kevin Wolf
From: "Denis V. Lunev" Simple grep for the .bdrv_co_check callback presence gives the following list of block drivers * QED * VDI * VHDX * VMDK * Parallels which have this callback. The presense of the callback means that consistency check is supported. The patch updates documentation

[PULL 03/13] libvhost-user: Fix extra vu_add/rem_mem_reg reply

2022-05-04 Thread Kevin Wolf
Outside of postcopy mode, neither VHOST_USER_ADD_MEM_REG nor VHOST_USER_REM_MEM_REG are supposed to send a reply unless explicitly requested with the need_reply flag. Their current implementation always sends a reply, even if it isn't requested. This confuses the master because it will interpret

[PULL 02/13] docs/vhost-user: Clarifications for VHOST_USER_ADD/REM_MEM_REG

2022-05-04 Thread Kevin Wolf
The specification for VHOST_USER_ADD/REM_MEM_REG messages is unclear in several points, which has led to clients having incompatible implementations. This changes the specification to be more explicit about them: * VHOST_USER_ADD_MEM_REG is not specified as receiving a file descriptor, though

Re: [RFC PATCH v2 0/8] Removal of AioContext lock, bs->parents and ->children: new rwlock

2022-05-04 Thread Stefan Hajnoczi
On Tue, Apr 26, 2022 at 04:51:06AM -0400, Emanuele Giuseppe Esposito wrote: > This is a new attempt to replace the need to take the AioContext lock to > protect graph modifications. In particular, we aim to remove > (or better, substitute) the AioContext around bdrv_replace_child_noperm, > since

Re: [PATCH v9 3/7] migration: Add zero-copy-send parameter for QMP/HMP for Linux

2022-05-04 Thread Markus Armbruster
Leonardo Bras writes: > Add property that allows zero-copy migration of memory pages > on the sending side, and also includes a helper function > migrate_use_zero_copy_send() to check if it's enabled. > > No code is introduced to actually do the migration, but it allow > future implementations

Re: [PATCH 4/4] block/file: Add file-specific image info

2022-05-04 Thread Hanna Reitz
On 04.05.22 10:46, Kevin Wolf wrote: Am 03.05.2022 um 16:55 hat Hanna Reitz geschrieben: Add some (optional) information that the file driver can provide for image files, namely the extent size. Signed-off-by: Hanna Reitz --- qapi/block-core.json | 26 --

Re: [PATCH 2/4] block: Add protocol-specific image info

2022-05-04 Thread Hanna Reitz
On 04.05.22 10:36, Kevin Wolf wrote: Am 03.05.2022 um 16:55 hat Hanna Reitz geschrieben: The ImageInfo object currently only contains (optional) format-specific image information. However, perhaps the protocol node can provide some additional information, so add a new field presenting it.

Re: [PATCH 4/4] block/file: Add file-specific image info

2022-05-04 Thread Kevin Wolf
Am 03.05.2022 um 16:55 hat Hanna Reitz geschrieben: > Add some (optional) information that the file driver can provide for > image files, namely the extent size. > > Signed-off-by: Hanna Reitz > --- > qapi/block-core.json | 26 -- > block/file-posix.c | 30

Re: [PATCH 2/4] block: Add protocol-specific image info

2022-05-04 Thread Kevin Wolf
Am 03.05.2022 um 16:55 hat Hanna Reitz geschrieben: > The ImageInfo object currently only contains (optional) format-specific > image information. However, perhaps the protocol node can provide some > additional information, so add a new field presenting it. > > Signed-off-by: Hanna Reitz > ---

Re: [PATCH 1/4] block: Improve empty format-specific info dump

2022-05-04 Thread Kevin Wolf
Am 03.05.2022 um 16:55 hat Hanna Reitz geschrieben: > When a block driver supports obtaining format-specific information, but > that object only contains optional fields, it is possible that none of > them are present, so that dump_qobject() (called by > bdrv_image_info_specific_dump()) will not

[PATCH v5 5/8] libvduse: Add VDUSE (vDPA Device in Userspace) library

2022-05-04 Thread Xie Yongji
VDUSE [1] is a linux framework that makes it possible to implement software-emulated vDPA devices in userspace. This adds a library as a subproject to help implementing VDUSE backends in QEMU. [1] https://www.kernel.org/doc/html/latest/userspace-api/vduse.html Signed-off-by: Xie Yongji ---

[PATCH v5 7/8] vduse-blk: Add vduse-blk resize support

2022-05-04 Thread Xie Yongji
To support block resize, this uses vduse_dev_update_config() to update the capacity field in configuration space and inject config interrupt on the block resize callback. Signed-off-by: Xie Yongji Reviewed-by: Stefan Hajnoczi --- block/export/vduse-blk.c | 20 1 file

[PATCH v5 8/8] libvduse: Add support for reconnecting

2022-05-04 Thread Xie Yongji
To support reconnecting after restart or crash, VDUSE backend might need to resubmit inflight I/Os. This stores the metadata such as the index of inflight I/O's descriptors to a shm file so that VDUSE backend can restore them during reconnecting. Signed-off-by: Xie Yongji ---

[PATCH v5 3/8] block/export: Abstract out the logic of virtio-blk I/O process

2022-05-04 Thread Xie Yongji
Abstract the common logic of virtio-blk I/O process to a function named virtio_blk_process_req(). It's needed for the following commit. Signed-off-by: Xie Yongji --- MAINTAINERS | 2 + block/export/meson.build | 2 +- block/export/vhost-user-blk-server.c

[PATCH v5 6/8] vduse-blk: Implement vduse-blk export

2022-05-04 Thread Xie Yongji
This implements a VDUSE block backends based on the libvduse library. We can use it to export the BDSs for both VM and container (host) usage. The new command-line syntax is: $ qemu-storage-daemon \ --blockdev file,node-name=drive0,filename=test.img \ --export

[PATCH v5 2/8] block-backend: Introduce blk_get_guest_block_size()

2022-05-04 Thread Xie Yongji
Support getting the guest block size for the block backend. It's needed for the following commit. Signed-off-by: Xie Yongji --- block/block-backend.c | 6 ++ include/sysemu/block-backend-io.h | 1 + 2 files changed, 7 insertions(+) diff --git a/block/block-backend.c

[PATCH v5 1/8] block: Support passing NULL ops to blk_set_dev_ops()

2022-05-04 Thread Xie Yongji
This supports passing NULL ops to blk_set_dev_ops() so that we can remove stale ops in some cases. Signed-off-by: Xie Yongji --- block/block-backend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/block-backend.c b/block/block-backend.c index e0e1aff4b1..35457a6a1d

[PATCH v5 4/8] linux-headers: Add vduse.h

2022-05-04 Thread Xie Yongji
This adds vduse header to linux headers so that the relevant VDUSE API can be used in subsequent patches. Signed-off-by: Xie Yongji --- linux-headers/linux/vduse.h | 306 scripts/update-linux-headers.sh | 2 +- 2 files changed, 307 insertions(+), 1

[PATCH v5 0/8] Support exporting BDSs via VDUSE

2022-05-04 Thread Xie Yongji
Hi all, Last few months ago, VDUSE (vDPA Device in Userspace) [1] has been merged into Linux kernel as a framework that make it possible to emulate a vDPA device in userspace. This series aimed at implementing a VDUSE block backend based on the qemu-storage-daemon infrastructure. To support

Re: [PATCH 4/4] block/file: Add file-specific image info

2022-05-04 Thread Hanna Reitz
On 03.05.22 20:50, Eric Blake wrote: On Tue, May 03, 2022 at 04:55:29PM +0200, Hanna Reitz wrote: Add some (optional) information that the file driver can provide for image files, namely the extent size. Signed-off-by: Hanna Reitz --- qapi/block-core.json | 26 --