Re: [PATCH] [for-10.1] qapi/block-core: derpecate some block-job- APIs

2025-04-05 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy writes: > On 04.04.25 17:13, Markus Armbruster wrote: [...] >> So, auto-finalize=true is silently ignored when another job in the same >> transaction has auto-finalize=false? > > Yes, at least, it looks like so: > > static void job_completed_txn_success_locked(Job *

[PATCH] block/file-posix.c: Use pwritev2() with RWF_DSYNC for FUA

2025-04-05 Thread Pinku Deb Nath
Full Unit Access (FUA) is an optimization where a disk write with the flag set will be persisted to disk immediately instead of potentially remaining in the disk's write cache. This commit address the todo task for using pwritev2() with RWF_DSYNC in the thread pool section of raw_co_prw(), if pwrit

[PATCH 07/11] docs/sphinx/qmp_lexer: Highlight elisions like comments, not prompts

2025-04-05 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- docs/sphinx/qmp_lexer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/sphinx/qmp_lexer.py b/docs/sphinx/qmp_lexer.py index 1bd1b81b70..7b3b808d12 100644 --- a/docs/sphinx/qmp_lexer.py +++ b/docs/sphinx/qmp_lexer.py @@ -24,7 +24,7 @@

Re: [PATCH v3 0/3] Enable QEMU NVMe userspace driver on s390x

2025-04-05 Thread Stefan Hajnoczi
On Tue, Apr 01, 2025 at 10:22:43AM -0700, Farhan Ali wrote: > Hi, > > Recently on s390x we have enabled mmap support for vfio-pci devices [1]. Hi Alex, I wanted to bring this to your attention. Feel free to merge it through the VFIO tree, otherwise I will merge it once you have taken a look. Tha

Re: [PATCH v3 0/2] qapi/throttle: Fix qmp_block_set_io_throttle blocked for too long

2025-04-05 Thread Stefan Hajnoczi
On Wed, Mar 26, 2025 at 05:26:32PM +0800, zoudongjie wrote: > From: Zhu Yangyang > > Calling qmp_block_set_io_throttle() will be blocked for a long time > when a network disk is configured and the network failure is just about > to occur. > > This series add a timeout parameter for qmp_block_set

Re: [PATCH v2 2/4] docs, qapi: generate undocumented return sections

2025-04-05 Thread John Snow
On Tue, Apr 1, 2025 at 2:07 AM Markus Armbruster wrote: > John Snow writes: > > > On Thu, Mar 27, 2025 at 5:11 AM Markus Armbruster > wrote: > > > >> John Snow writes: > >> > >> > This patch changes the qapidoc transmogrifier to generate Return value > >> > documentation for any command that h

[PATCH 08/15] fuse: Introduce fuse_{at,de}tach_handlers()

2025-04-05 Thread Hanna Czenczek
Pull setting up and tearing down the AIO context handlers into two dedicated functions. Signed-off-by: Hanna Czenczek --- block/export/fuse.c | 32 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/block/export/fuse.c b/block/export/fuse.c index 2df

Re: [PATCH v9 4/7] qapi: add blockdev-replace command

2025-04-05 Thread Vladimir Sementsov-Ogievskiy
On 18.10.24 16:59, Kevin Wolf wrote: If we want to get rid of the union, I think the best course of action would unifying the namespaces (so that nodes, exports and devices can't share the same ID) and then we could just accept a universal 'id' along with 'child'. Maybe we can go this way even

[PATCH v2 4/4] qapi: rephrase return docs to avoid type name

2025-04-05 Thread John Snow
Well, I tried. Maybe not very hard. Sorry! Signed-off-by: John Snow --- qapi/block-core.json | 6 +++--- qapi/block-export.json | 2 +- qapi/block.json | 2 +- qapi/control.json| 5 ++--- qapi/dump.json | 5 ++--- qapi/introspect.json | 6 +++--- qapi/job.jso

[PATCH v2 1/2] block/file-posix.c: Use pwritev2() with RWF_DSYNC for FUA

2025-04-05 Thread Pinku Deb Nath
Full Unit Access (FUA) is an optimization where a disk write with the flag set will be persisted to disk immediately instead of potentially remaining in the disk's write cache. This commit address the todo task for using pwritev2() with RWF_DSYNC in the thread pool section of raw_co_prw(), if pwrit

Re: [PATCH 01/15] fuse: Copy write buffer content before polling

2025-04-05 Thread Eric Blake
On Tue, Mar 25, 2025 at 05:06:35PM +0100, Hanna Czenczek wrote: > Polling in I/O functions can lead to nested read_from_fuse_export() > calls, overwriting the request buffer's content. The only function > affected by this is fuse_write(), which therefore must use a bounce > buffer or corruption ma

[PATCH v4 0/3] qapi: Fix some command blocked for too long

2025-04-05 Thread zoudongjie via
From: Zhu Yangyang QMP may will be blocked for a long time on bdrv_drained_begin() when a network disk is configured and the network failure is just about to occur. In theory, any command may be blocked if it calls bdrv_drained_begin(). This series add a timeout parameter for qmp_block_set_io_t

Re: [PATCH 02/15] fuse: Ensure init clean-up even with error_fatal

2025-04-05 Thread Stefan Hajnoczi
On Tue, Mar 25, 2025 at 05:06:42PM +0100, Hanna Czenczek wrote: > When exports are created on the command line (with the storage daemon), > errp is going to point to error_fatal. Without ERRP_GUARD, we would > exit immediately when *errp is set, i.e. skip the clean-up code under > the `fail` label

[PULL 1/1] Revert "iotests: Stop NBD server in test 162 before starting the next one"

2025-04-05 Thread Eric Blake
From: Thomas Huth This reverts commit e2668ba1ed44ad56f2f1653ff5f53b277d534fac. This commit made test 162 fail occasionally with: 162 fail [13:06:40] [13:06:40] 0.2s (last: 0.2s) output mismatch --- tests/qemu-iotests/162.out +++ tests/qemu-iotests/scratch/qcow2-file-162/162.out.

[PATCH v2 1/3] util: Add functions for s390x mmio read/write

2025-04-05 Thread Farhan Ali
Starting with z15 (or newer) we can execute mmio instructions from userspace. On older platforms where we don't have these instructions available we can fallback to using system calls to access the PCI mapped resources. This patch adds helper functions for mmio reads and writes for s390x. Reviewe

[PATCH v2 1/2] io/block: Refactoring the bdrv_drained_begin() function and implement a timeout mechanism.

2025-04-05 Thread zoudongjie via
From: Zhu Yangyang The bdrv_drained_begin() function is a blocking function. In scenarios where network storage is used and network links fail, it may block for a long time. Therefore, we add a timeout parameter to control the duration of the block. Since bdrv_drained_begin() has been widely ad

Re: [PATCH 04/15] fuse: Explicitly set inode ID to 1

2025-04-05 Thread Stefan Hajnoczi
On Tue, Mar 25, 2025 at 05:06:44PM +0100, Hanna Czenczek wrote: > Setting .st_ino to the FUSE inode ID is kind of arbitrary. While in > practice it is going to be fixed (to FUSE_ROOT_ID, which is 1) because > we only have the root inode, that is not obvious in fuse_getattr(). > > Just explicitly

[PATCH v1 0/2] Enable QEMU NVMe userspace driver on s390x

2025-04-05 Thread Farhan Ali
Hi, Recently on s390x we have enabled mmap support for vfio-pci devices [1]. This allows us to take advantage and use userspace drivers on s390x. However, on s390x we have special instructions for MMIO access. Starting with z15 (and newer platforms) we have new PCI Memory I/O (MIO) instructions w

Re: [PATCH v2 1/2] io/block: Refactoring the bdrv_drained_begin() function and implement a timeout mechanism.

2025-04-05 Thread Stefan Hajnoczi
On Fri, Mar 21, 2025 at 03:09:16PM +0800, zoudongjie wrote: > From: Zhu Yangyang > > The bdrv_drained_begin() function is a blocking function. In scenarios where > network storage > is used and network links fail, it may block for a long time. > Therefore, we add a timeout parameter to control t

[PATCH v5] block/file-posix.c: Use pwritev2() with RWF_DSYNC for FUA

2025-04-05 Thread Pinku Deb Nath
Full Unit Access (FUA) is an optimization where a disk write with the flag set will be persisted to disk immediately instead of potentially remaining in the disk's write cache. This commit address the todo task for using pwritev2() with RWF_DSYNC in the thread pool section of raw_co_prw(), if pwri

Re: Can I contribute Vitastor block driver? Or maybe introduce a QAPI plugin system?

2025-04-05 Thread vitalif
Ok, thank you very much for the information! So I should first try to make my library available in one of the distros used for CI. As I understand these are Alpine, Ubuntu, Debian, Fedora, CentOS and OpenSUSE. OK, I'll try it first :) Regarding QAPI, I'd say it would be cool if it was allowed..

Re: [PATCH 14/15] fuse: Implement multi-threading

2025-04-05 Thread Stefan Hajnoczi
On Tue, Apr 01, 2025 at 03:36:40PM -0500, Eric Blake wrote: > On Thu, Mar 27, 2025 at 11:55:57AM -0400, Stefan Hajnoczi wrote: > > On Tue, Mar 25, 2025 at 05:06:54PM +0100, Hanna Czenczek wrote: > > > FUSE allows creating multiple request queues by "cloning" /dev/fuse FDs > > > (via open("/dev/fuse

Re: [PATCH 10/15] fuse: Add halted flag

2025-04-05 Thread Stefan Hajnoczi
On Tue, Mar 25, 2025 at 05:06:50PM +0100, Hanna Czenczek wrote: > This is a flag that we will want when processing FUSE requests > ourselves: When the kernel sends us e.g. a truncated request (i.e. we > receive less data than the request's indicated length), we cannot rely > on subsequent data to b