Re: [PATCH 1/2] i386/xen: Move KVM_XEN_HVM_CONFIG ioctl to kvm_xen_init_vcpu()

2025-04-04 Thread David Woodhouse
On Fri, 2025-02-07 at 14:37 +, David Woodhouse wrote: > From: David Woodhouse > > At the time kvm_xen_init() is called, hyperv_enabled() doesn't yet work, so > the correct MSR index to use for the hypercall page isn't known. > > Rather than setting it to the default and then shifting it late

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

2025-04-04 Thread Hanna Czenczek
On 27.03.25 15:47, Stefan Hajnoczi wrote: 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() "Polling" means several different things. "aio_poll()" or "nested event loop" would be clearer. Sure! calls, overwrit

[PATCH 03/11] docs/interop: Delete "QEMU Guest Agent Protocol Reference" TOC

2025-04-04 Thread Markus Armbruster
The "QEMU Guest Agent Protocol Reference" starts with the following table of contents: Contents * QEMU Guest Agent Protocol Reference * QEMU guest agent protocol commands and structs This is useless. Delete the entire TOC. Signed-off-by: Markus Armbruster --- docs/interop/qemu

[PATCH 08/11] qapi/qapi-schema: Update introduction for example notation

2025-04-04 Thread Markus Armbruster
The introduction explains example notation. The series merged in merge commit e6485190f77e (in 9.1) improved how they look in generated docs, but neglected to update the introduction accordingly. Do that now. Signed-off-by: Markus Armbruster --- qapi/qapi-schema.json | 6 +++--- 1 file changed

[PATCH 00/11] qapi: Documentation improvements

2025-04-04 Thread Markus Armbruster
Markus Armbruster (11): docs/devel/qapi-code-gen: Tidy up whitespace qapi/rocker: Tidy up query-rocker-of-dpa-flows example docs/interop: Delete "QEMU Guest Agent Protocol Reference" TOC docs/interop: Sanitize QMP reference manuals TOC docs/devel/qapi-code-gen: Improve the part on qmp-exa

[PATCH 01/11] docs/devel/qapi-code-gen: Tidy up whitespace

2025-04-04 Thread Markus Armbruster
Consistently use two spaces to separate sentences. Put "::" on a line of its own when it's preceded by whitespace. Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.rst | 26 ++ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/devel/qapi-c

[PATCH 11/11] qga/qapi-schema: Add a proper introduction

2025-04-04 Thread Markus Armbruster
Contents adapted from qapi/qapi-schema.json. Signed-off-by: Markus Armbruster --- qga/qapi-schema.json | 20 +--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json index 35ec0e7db3..5316bfacbf 100644 --- a/qga/qapi-schema.j

[PATCH 04/11] docs/interop: Sanitize QMP reference manuals TOC

2025-04-04 Thread Markus Armbruster
The "QEMU QMP Reference Manual" and the "QEMU Storage Daemon QMP Reference Manual" start with a table of contents that looks like this: Contents * Title of the manual * Title of first first-level section * Title of its first second-level section * Title of its second

[PATCH 06/11] docs/sphinx/qmp_lexer: Generalize elision syntax

2025-04-04 Thread Markus Armbruster
Accept "... lorem ipsum ..." in addition to "...". Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.rst| 6 -- docs/sphinx/qmp_lexer.py| 2 +- tests/qapi-schema/doc-good.json | 2 +- tests/qapi-schema/doc-good.out | 2 +- tests/qapi-schema/doc-good.txt | 2 +- 5 f

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

2025-04-04 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 08/15] fuse: Introduce fuse_{at,de}tach_handlers()

2025-04-04 Thread Hanna Czenczek
On 01.04.25 15:55, Eric Blake wrote: On Tue, Mar 25, 2025 at 05:06:48PM +0100, Hanna Czenczek wrote: 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 ch

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

2025-04-04 Thread Hanna Czenczek
On 01.04.25 15:44, Eric Blake wrote: 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

Re: [PATCH v2 3/3] vhost-user: return failure if backend crash when live migration

2025-04-04 Thread Stefano Garzarella
On Thu, Mar 27, 2025 at 02:53:24PM +0800, Haoqian He wrote: 2025年3月25日 17:51,Stefano Garzarella 写道: On Tue, Mar 25, 2025 at 04:39:46PM +0800, Haoqian He wrote: 2025年3月24日 22:31,Stefano Garzarella 写道: On Thu, Mar 20, 2025 at 08:21:30PM +0800, Haoqian He wrote: 2025年3月19日 23:20,Stefano Garza

Re: [PATCH 11/15] fuse: Manually process requests (without libfuse)

2025-04-04 Thread Hanna Czenczek
Sorry, replied too early. :) On 01.04.25 16:35, Eric Blake wrote: On Tue, Mar 25, 2025 at 05:06:51PM +0100, Hanna Czenczek wrote: Manually read requests from the /dev/fuse FD and process them, without using libfuse. This allows us to safely add parallel request processing in coroutines later,

Re: [PATCH 11/15] fuse: Manually process requests (without libfuse)

2025-04-04 Thread Hanna Czenczek
On 01.04.25 16:35, Eric Blake wrote: On Tue, Mar 25, 2025 at 05:06:51PM +0100, Hanna Czenczek wrote: Manually read requests from the /dev/fuse FD and process them, without using libfuse. This allows us to safely add parallel request processing in coroutines later, without having to worry about

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

2025-04-04 Thread Cédric Le Goater
On 4/3/25 22:33, Farhan Ali wrote: On 4/3/2025 11:05 AM, Alex Williamson wrote: On Thu, 3 Apr 2025 10:33:52 -0700 Farhan Ali wrote: On 4/3/2025 9:27 AM, Alex Williamson wrote: On Thu, 3 Apr 2025 11:44:42 -0400 Stefan Hajnoczi wrote: On Thu, Apr 03, 2025 at 09:47:26AM +0200, Niklas Schnell

Re: [PATCH 11/15] fuse: Manually process requests (without libfuse)

2025-04-04 Thread Hanna Czenczek
On 27.03.25 16:35, Stefan Hajnoczi wrote: On Tue, Mar 25, 2025 at 05:06:51PM +0100, Hanna Czenczek wrote: Manually read requests from the /dev/fuse FD and process them, without using libfuse. This allows us to safely add parallel request processing in coroutines later, without having to worry a

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

2025-04-04 Thread Hanna Czenczek
On 01.04.25 14:05, Kevin Wolf wrote: Am 27.03.2025 um 14:45 hat Hanna Czenczek geschrieben: On 27.03.25 13:18, Markus Armbruster wrote: Hanna Czenczek writes: On 26.03.25 12:41, Markus Armbruster wrote: Hanna Czenczek writes: On 26.03.25 06:38, Markus Armbruster wrote: Hanna Czenczek w

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

2025-04-04 Thread Hanna Czenczek
On 27.03.25 16:55, 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") + ioctl(FUSE_DEV_IOC_CLONE)). We can use this to implement multi-threading. Note that the int

[PATCH 05/11] docs/devel/qapi-code-gen: Improve the part on qmp-example directive

2025-04-04 Thread Markus Armbruster
Signed-off-by: Markus Armbruster --- docs/devel/qapi-code-gen.rst | 23 ++- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst index ad517349fc..25a46fafb6 100644 --- a/docs/devel/qapi-code-gen.rst +++ b/d

Re: [PATCH v1 0/1] hw/misc/aspeed_sbc: Implement OTP memory and controller

2025-04-04 Thread Cédric Le Goater
On 4/4/25 15:00, Philippe Mathieu-Daudé wrote: +qemu-block@ On 4/4/25 14:06, Cédric Le Goater wrote: Hello, On 4/2/25 11:14, Kane-Chen-AS wrote: This patch introduces part of the Secure Boot Controller device, which consists of several sub-components, including an OTP memory, OTP controller,

[PATCH 02/11] qapi/rocker: Tidy up query-rocker-of-dpa-flows example

2025-04-04 Thread Markus Armbruster
The command can return any number of RockerOfDpaFlow objects. The example shows it returning exactly two, with the second objecy's members elided. Tweak it so it elides elements after the first instead. Signed-off-by: Markus Armbruster --- qapi/rocker.json | 2 +- 1 file changed, 1 insertion(+

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

2025-04-04 Thread Markus Armbruster
Vladimir Sementsov-Ogievskiy writes: > On 04.04.25 09:20, Markus Armbruster wrote: >> Vladimir Sementsov-Ogievskiy writes: [...] >>> + >>> +``block-job-finalize`` (since 10.1) >>> +'' >>> + >>> +Use ``job-finalize`` instead. >>> + >> >> block-job-finalize's doc

Re: [PATCH v1 0/1] hw/misc/aspeed_sbc: Implement OTP memory and controller

2025-04-04 Thread Philippe Mathieu-Daudé
+qemu-block@ On 4/4/25 14:06, Cédric Le Goater wrote: Hello, On 4/2/25 11:14, Kane-Chen-AS wrote: This patch introduces part of the Secure Boot Controller device, which consists of several sub-components, including an OTP memory, OTP controller, cryptographic engine, and boot controller. In t

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

2025-04-04 Thread Farhan Ali
On 4/3/2025 9:27 AM, Alex Williamson wrote: On Thu, 3 Apr 2025 11:44:42 -0400 Stefan Hajnoczi wrote: On Thu, Apr 03, 2025 at 09:47:26AM +0200, Niklas Schnelle wrote: On Wed, 2025-04-02 at 11:51 -0400, Stefan Hajnoczi wrote: On Tue, Apr 01, 2025 at 10:22:43AM -0700, Farhan Ali wrote: Hi,

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

2025-04-04 Thread Vladimir Sementsov-Ogievskiy
On 04.04.25 17:13, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: On 04.04.25 09:20, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: [...] + +``block-job-finalize`` (since 10.1) +'' + +Use ``job-finalize`` instead. + block-jo

Re: [PATCH 15/15] fuse: Increase MAX_WRITE_SIZE with a second buffer

2025-04-04 Thread Hanna Czenczek
On 01.04.25 22:24, Eric Blake wrote: On Tue, Mar 25, 2025 at 05:06:55PM +0100, Hanna Czenczek wrote: We probably want to support larger write sizes than just 4k; 64k seems nice. However, we cannot read partial requests from the FUSE FD, we always have to read requests in full; so our read buffe

[PATCH 10/11] storage-daemon/qapi/qapi-schema: Add a proper introduction

2025-04-04 Thread Markus Armbruster
Contents adapted from qapi/qapi-schema.json. Signed-off-by: Markus Armbruster --- storage-daemon/qapi/qapi-schema.json | 22 +++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/storage-daemon/qapi/qapi-schema.json b/storage-daemon/qapi/qapi-schema.json index 2a

[PATCH 09/11] qapi/qapi-schema: Address the introduction's bit rot

2025-04-04 Thread Markus Armbruster
Cut the crap that stopped making sense years ago. Adjust the remainder. Signed-off-by: Markus Armbruster --- qapi/qapi-schema.json | 27 +++ 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json index 0d027d5017..7bc

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

2025-04-04 Thread Stefan Hajnoczi
On Fri, Apr 04, 2025 at 12:42:33AM -0700, Pinku Deb Nath wrote: > 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 pwrite

[PATCH v4 0/3] vhost: fix the IO error after live migration

2025-04-04 Thread Haoqian He
At the end of the VM live migration, the vhost device will be stopped. Currently, if the vhost-user backend crashes, vhost device's set_status() would not return failure, live migration won't perceive the disconnection with the backend. After the live migration is successful, the stale inflight IO

hw/nvme: Issue with multiple controllers behind a subsystem

2025-04-04 Thread alan . adamson
I'm running into a issue with the latest qemu-nvme with v10.0.0-rc2 with regards to multiple controllers behind a subsystem.  When I setup a subsystem with 2 controllers, each with a private/non-shared namespace, the two private/non-shared namespaces all get attached to one of the controllers.

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

2025-04-04 Thread Vladimir Sementsov-Ogievskiy
On 04.04.25 09:20, Markus Armbruster wrote: Vladimir Sementsov-Ogievskiy writes: For change, pause, resume, complete, dismiss and finalize actions corresponding job- and block-job commands are almost equal. The difference is in find_block_job_locked() vs find_job_locked() functions. What's dif

Re: [PATCH v4 3/3] vhost-user: return failure if backend crash when live migration

2025-04-04 Thread Michael S. Tsirkin
On Tue, Apr 01, 2025 at 11:18:17AM -0400, Haoqian He wrote: > Live migration should be terminated if the vhost-user backend crashes > before the migration completes. > > Specifically, since the vhost device will be stopped when VM is stopped > before the end of the live migration, in current imple

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

2025-04-04 Thread Stefan Hajnoczi
On Wed, Apr 02, 2025 at 02:31:01AM -0700, Pinku Deb Nath wrote: > 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 pwrite

[PATCH v2 1/2] qapi: synchronize jobs and block-jobs documentation

2025-04-04 Thread Vladimir Sementsov-Ogievskiy
Actualize documentation and synchronize it for commands which actually call the same functions internally. Signed-off-by: Vladimir Sementsov-Ogievskiy --- qapi/block-core.json | 59 +--- qapi/job.json| 29 -- 2 files changed, 61

[PATCH v2 2/2] qapi/block-core: derpecate some block-job- APIs

2025-04-04 Thread Vladimir Sementsov-Ogievskiy
For change, pause, resume, complete, dismiss and finalize actions corresponding job- and block-job commands are almost equal. The difference is in find_block_job_locked() vs find_job_locked() functions. What's different? 1. find_block_job_locked() do check, is found job a block-job. This OK whe

[PATCH v2 0/2] derpecate some block-job- APIs

2025-04-04 Thread Vladimir Sementsov-Ogievskiy
v2: Update documentation: add patch 01 v1 was: [PATCH] [for-10.1] qapi/block-core: derpecate some block-job- APIs Supersedes: <20250401155730.103718-1-vsement...@yandex-team.ru> Vladimir Sementsov-Ogievskiy (2): qapi: synchronize jobs and block-jobs documentation qapi/block-core: derpecate so

[PATCH 3/3] block/io_uring: use aio_add_sqe()

2025-04-04 Thread Stefan Hajnoczi
AioContext has its own io_uring instance for file descriptor monitoring. The disk I/O io_uring code was developed separately. Originally I thought the characteristics of file descriptor monitoring and disk I/O were too different, requiring separate io_uring instances. Now it has become clear to me