[PULL 2/3] iotests: Test blockdev-reopen with iothreads and throttling

2022-02-11 Thread Kevin Wolf
The 'throttle' block driver implements .bdrv_co_drain_end, so blockdev-reopen will have to wait for it to complete in the polling loop at the end of qmp_blockdev_reopen(). This makes AIO_WAIT_WHILE() release the AioContext lock, which causes a crash if the lock hasn't correctly been taken.

[PULL 3/3] hw/block/fdc-isa: Respect QOM properties when building AML

2022-02-11 Thread Kevin Wolf
From: Bernhard Beschow Other ISA devices such as serial-isa use the properties in their build_aml functions. fdc-isa not using them is probably an oversight. Signed-off-by: Bernhard Beschow Message-Id: <20220209191558.30393-1-shen...@gmail.com> Reviewed-by: Philippe Mathieu-Daudé

[PULL 1/3] block: Lock AioContext for drain_end in blockdev-reopen

2022-02-11 Thread Kevin Wolf
bdrv_subtree_drained_end() requires the caller to hold the AioContext lock for the drained node. Not doing this for nodes outside of the main AioContext leads to crashes when AIO_WAIT_WHILE() needs to wait and tries to temporarily release the lock. Fixes: 3908b7a8994fa5ef7a89aa58cd5a02fc58141592

[PULL 0/3] Block layer patches

2022-02-11 Thread Kevin Wolf
The following changes since commit 0a301624c2f4ced3331ffd5bce85b4274fe132af: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20220208' into staging (2022-02-08 11:40:08 +) are available in the Git repository at: https://gitlab.com/kmwolf/qemu.git tags/for-upstream

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Kevin Wolf
Am 11.02.2022 um 17:14 hat Hanna Reitz geschrieben: > On 11.02.22 17:00, Kevin Wolf wrote: > > Am 11.02.2022 um 14:53 hat Thomas Huth geschrieben: > > > On 11/02/2022 10.29, Kevin Wolf wrote: > > > > Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: > > > > > If multiple tests run in parallel,

Re: [PATCH 0/4] Make qemu-img dd more flexible

2022-02-11 Thread Hanna Reitz
On 11.02.22 17:31, Eric Blake wrote: On Thu, Feb 10, 2022 at 02:31:19PM +0100, Fabian Ebner wrote: Adds support for reading from stdin and writing to stdout (when raw format is used), as well as overriding the size of the output and input image/stream. Additionally, the options -n for skipping

Re: [PATCH] hw/block/fdc-isa: Respect QOM properties when building AML

2022-02-11 Thread Kevin Wolf
Am 09.02.2022 um 20:15 hat Bernhard Beschow geschrieben: > Other ISA devices such as serial-isa use the properties in their > build_aml functions. fdc-isa not using them is probably an oversight. > > Signed-off-by: Bernhard Beschow Thanks, applied to the block branch. Kevin

Re: [PATCH 1/6] tests/qemu-iotests: Improve the check for GNU sed

2022-02-11 Thread Thomas Huth
On 11/02/2022 17.14, Eric Blake wrote: On Tue, Feb 08, 2022 at 03:52:19PM +0100, Thomas Huth wrote: The current code with $SED has been introduced almost three years ago already...   Can’t we just do `alias sed=gsed`? Maybe ... but let's ask Philippe and Kevin first, who Signed-off commit

Re: [PATCH 0/4] Make qemu-img dd more flexible

2022-02-11 Thread Eric Blake
On Thu, Feb 10, 2022 at 02:31:19PM +0100, Fabian Ebner wrote: > Adds support for reading from stdin and writing to stdout (when raw > format is used), as well as overriding the size of the output and > input image/stream. > > Additionally, the options -n for skipping output image creation and -l

Re: [PATCH 1/6] tests/qemu-iotests: Improve the check for GNU sed

2022-02-11 Thread Eric Blake
On Tue, Feb 08, 2022 at 03:52:19PM +0100, Thomas Huth wrote: > > > The current code with $SED has been introduced almost three years > > > ago already... > > > > > > >   Can’t we just do `alias sed=gsed`? > > > > > > Maybe ... but let's ask Philippe and Kevin first, who Signed-off > > > commit

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Kevin Wolf
Am 11.02.2022 um 14:53 hat Thomas Huth geschrieben: > On 11/02/2022 10.29, Kevin Wolf wrote: > > Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: > > > If multiple tests run in parallel, they must use unique file > > > names for the test output. > > > > > > Suggested-by: Hanna Reitz > > >

Re: [PATCH 5/6] test-bdrv-drain.c: remove test_detach_by_parent_cb()

2022-02-11 Thread Kevin Wolf
Am 08.02.2022 um 16:36 hat Emanuele Giuseppe Esposito geschrieben: > This test uses a callback of an I/O function (blk_aio_preadv) > to modify the graph, using bdrv_attach_child. > This is simply not allowed anymore. I/O cannot change the graph. The callback of an I/O function isn't I/O, though.

[PATCH v7 31/31] job.h: assertions in the callers of JobDriver function pointers

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- job.c | 10 ++ 1 file changed, 10 insertions(+) diff --git a/job.c b/job.c index 54db80df66..075c6f3a20 100644 --- a/job.c +++ b/job.c @@ -381,6 +381,8 @@ void job_ref(Job *job) void job_unref(Job *job) { +GLOBAL_STATE_CODE(); +

[PATCH v7 22/31] include/block/snapshot: global state API + assertions

2022-02-11 Thread Emanuele Giuseppe Esposito
Snapshots run also under the BQL, so they all are in the global state API. The aiocontext lock that they hold is currently an overkill and in future could be removed. Signed-off-by: Emanuele Giuseppe Esposito --- block/snapshot.c | 28

[PATCH v7 27/31] block_int-common.h: split function pointers in BdrvChildClass

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- include/block/block_int-common.h | 81 ++-- 1 file changed, 47 insertions(+), 34 deletions(-) diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h index f05ebb0da3..5a04c778e4 100644 ---

[PATCH v7 30/31] job.h: split function pointers in JobDriver

2022-02-11 Thread Emanuele Giuseppe Esposito
The job API will be handled separately in another serie. Signed-off-by: Emanuele Giuseppe Esposito --- include/qemu/job.h | 22 ++ 1 file changed, 22 insertions(+) diff --git a/include/qemu/job.h b/include/qemu/job.h index 6e67b6977f..c105b31076 100644 ---

[PATCH v7 29/31] block-backend-common.h: split function pointers in BlockDevOps

2022-02-11 Thread Emanuele Giuseppe Esposito
Assertions in the callers of the function pointrs are already added by previous patches. Signed-off-by: Emanuele Giuseppe Esposito Reviewed-by: Stefan Hajnoczi Reviewed-by: Philippe Mathieu-Daudé --- include/sysemu/block-backend-common.h | 28 ++- 1 file changed, 23

[PATCH v7 26/31] block_int-common.h: assertions in the callers of BlockDriver function pointers

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- block.c| 18 ++ block/create.c | 2 ++ 2 files changed, 20 insertions(+) diff --git a/block.c b/block.c index 7cacb5a1a7..d1f5cd2b39 100644 --- a/block.c +++ b/block.c @@ -529,6 +529,7 @@ static void coroutine_fn

[PATCH v7 25/31] block_int-common.h: split function pointers in BlockDriver

2022-02-11 Thread Emanuele Giuseppe Esposito
Similar to the header split, also the function pointers in BlockDriver can be split in I/O and global state. Signed-off-by: Emanuele Giuseppe Esposito --- include/block/block_int-common.h | 445 --- 1 file changed, 237 insertions(+), 208 deletions(-) diff --git

[PATCH v7 24/31] block/coroutines: I/O and "I/O or GS" API

2022-02-11 Thread Emanuele Giuseppe Esposito
block coroutines functions run in different aiocontext, and are not protected by the BQL. Therefore are I/O. On the other side, generated_co_wrapper functions use BDRV_POLL_WHILE, meaning the caller can either be the main loop or a specific iothread. Signed-off-by: Emanuele Giuseppe Esposito

[PATCH v7 21/31] assertions for blockdev.h global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- block/block-backend.c | 3 +++ blockdev.c| 16 2 files changed, 19 insertions(+) diff --git a/block/block-backend.c b/block/block-backend.c index e5708702db..d8a77a5832 100644 --- a/block/block-backend.c +++

[PATCH v7 13/31] IO_CODE and IO_OR_GS_CODE for block_int I/O API

2022-02-11 Thread Emanuele Giuseppe Esposito
Mark all I/O functions with IO_CODE, and all "I/O OR GS" with IO_OR_GS_CODE. Signed-off-by: Emanuele Giuseppe Esposito --- block.c | 14 +- block/block-backend.c| 2 ++ block/dirty-bitmap.c | 3 +++ block/io.c | 13

[PATCH v7 28/31] block_int-common.h: assertions in the callers of BdrvChildClass function pointers

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- block.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/block.c b/block.c index d1f5cd2b39..4297431812 100644 --- a/block.c +++ b/block.c @@ -1497,7 +1497,7 @@ const BdrvChildClass child_of_bds = { AioContext

[PATCH v7 05/31] IO_CODE and IO_OR_GS_CODE for block I/O API

2022-02-11 Thread Emanuele Giuseppe Esposito
Mark all I/O functions with IO_CODE, and all "I/O OR GS" with IO_OR_GS_CODE. Signed-off-by: Emanuele Giuseppe Esposito --- block.c | 35 +++- block/dirty-bitmap.c | 1 + block/io.c | 43 ++--

[PATCH v7 19/31] assertions for blockjob.h global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- blockjob.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/blockjob.c b/blockjob.c index d79a52d204..4868453d74 100644 --- a/blockjob.c +++ b/blockjob.c @@ -62,6 +62,7 @@ static bool is_block_job(Job *job) BlockJob

[PATCH v7 16/31] GS and IO CODE macros for blockjob_int.h

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- blockjob.c | 5 + 1 file changed, 5 insertions(+) diff --git a/blockjob.c b/blockjob.c index 10815a89fe..d79a52d204 100644 --- a/blockjob.c +++ b/blockjob.c @@ -84,6 +84,7 @@ BlockJob *block_job_get(const char *id) void block_job_free(Job *job)

[PATCH v7 17/31] block.c: add assertions to static functions

2022-02-11 Thread Emanuele Giuseppe Esposito
Following the assertion derived from the API split, propagate the assertion also in the static functions. Signed-off-by: Emanuele Giuseppe Esposito --- block.c | 47 ++- block/block-backend.c | 3 +++ 2 files changed, 49 insertions(+), 1

[PATCH v7 09/31] IO_CODE and IO_OR_GS_CODE for block-backend I/O API

2022-02-11 Thread Emanuele Giuseppe Esposito
Mark all I/O functions with IO_CODE, and all "I/O OR GS" with IO_OR_GS_CODE. Signed-off-by: Emanuele Giuseppe Esposito --- block/block-backend.c | 57 +++ include/sysemu/block-backend-io.h | 2 ++ 2 files changed, 59 insertions(+) diff --git

[PATCH v7 07/31] include/sysemu/block-backend: split header into I/O and global state (GS) API

2022-02-11 Thread Emanuele Giuseppe Esposito
Similarly to the previous patches, split block-backend.h in block-backend-io.h and block-backend-global-state.h In addition, remove "block/block.h" include as it seems it is not necessary anymore, together with "qemu/iov.h" block-backend-common.h contains the structures shared between the two

[PATCH v7 20/31] include/sysemu/blockdev.h: global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
blockdev functions run always under the BQL lock. Signed-off-by: Emanuele Giuseppe Esposito --- include/sysemu/blockdev.h | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index f9fb54d437..3211b16513 100644

[PATCH v7 14/31] block: introduce assert_bdrv_graph_writable

2022-02-11 Thread Emanuele Giuseppe Esposito
We want to be sure that the functions that write the child and parent list of a bs are under BQL and drain. BQL prevents from concurrent writings from the GS API, while drains protect from I/O. TODO: drains are missing in some functions using this assert. Therefore a proper assertion will fail.

[PATCH v7 11/31] include/block/block_int: split header into I/O and global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
Similarly to the previous patch, split block_int.h in block_int-io.h and block_int-global-state.h block_int-common.h contains the structures shared between the two headers, and the functions that can't be categorized as I/O or global state. Assertions are added in the next patch. Signed-off-by:

[PATCH v7 02/31] main loop: macros to mark GS and I/O functions

2022-02-11 Thread Emanuele Giuseppe Esposito
Righ now, IO_CODE and IO_OR_GS_CODE are nop, as there isn't really a way to check that a function is only called in I/O. On the other side, we can use qemu_in_main_thread to check if we are in the main loop. Signed-off-by: Emanuele Giuseppe Esposito --- include/qemu/main-loop.h | 9 + 1

[PATCH v7 04/31] assertions for block global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
All the global state (GS) API functions will check that qemu_in_main_thread() returns true. If not, it means that the safety of BQL cannot be guaranteed, and they need to be moved to I/O. Signed-off-by: Emanuele Giuseppe Esposito --- block.c| 125

[PATCH v7 08/31] block/block-backend.c: assertions for block-backend

2022-02-11 Thread Emanuele Giuseppe Esposito
All the global state (GS) API functions will check that qemu_in_main_thread() returns true. If not, it means that the safety of BQL cannot be guaranteed, and they need to be moved to I/O. Signed-off-by: Emanuele Giuseppe Esposito --- block/block-backend.c | 79

[PATCH v7 15/31] include/block/blockjob_int.h: split header into I/O and GS API

2022-02-11 Thread Emanuele Giuseppe Esposito
Since the I/O functions are not many, keep a single file. Also split the function pointers in BlockJobDriver. Signed-off-by: Emanuele Giuseppe Esposito Reviewed-by: Stefan Hajnoczi --- include/block/blockjob_int.h | 28 1 file changed, 28 insertions(+) diff --git

[PATCH v7 12/31] assertions for block_int global state API

2022-02-11 Thread Emanuele Giuseppe Esposito
Signed-off-by: Emanuele Giuseppe Esposito --- block.c | 15 +++ block/backup.c | 1 + block/block-backend.c | 3 +++ block/commit.c | 2 ++ block/dirty-bitmap.c| 1 + block/io.c |

[PATCH v7 01/31] main-loop.h: introduce qemu_in_main_thread()

2022-02-11 Thread Emanuele Giuseppe Esposito
When invoked from the main loop, this function is the same as qemu_mutex_iothread_locked, and returns true if the BQL is held. When invoked from iothreads or tests, it returns true only if the current AioContext is the Main Loop. This essentially just extends qemu_mutex_iothread_locked to work

[PATCH v7 00/31] block layer: split block APIs in global state and I/O

2022-02-11 Thread Emanuele Giuseppe Esposito
Currently, block layer APIs like block.h contain a mix of functions that are either running in the main loop and under the BQL, or are thread-safe functions and run in iothreads performing I/O. The functions running under BQL also take care of modifying the block graph, by using drain and/or

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Thomas Huth
On 11/02/2022 10.29, Kevin Wolf wrote: Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: If multiple tests run in parallel, they must use unique file names for the test output. Suggested-by: Hanna Reitz Signed-off-by: Thomas Huth --- tests/qemu-iotests/testrunner.py | 2 +- 1 file

[PULL v2 2/7] block/nbd: Delete open timer when done

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz We start the open timer to cancel the connection attempt after a while. Once nbd_do_establish_connection() has returned, the attempt is over, and we no longer need the timer. Delete it before returning from nbd_open(), so that it does not persist for longer. It has no use

[PULL v2 7/7] iotests/281: Let NBD connection yield in iothread

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz Put an NBD block device into an I/O thread, and then read data from it, hoping that the NBD connection will yield during that read. When it does, the coroutine must be reentered in the block device's I/O thread, which will only happen if the NBD block driver attaches the

[PULL v2 6/7] block/nbd: Move s->ioc on AioContext change

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz s->ioc must always be attached to the NBD node's AioContext. If that context changes, s->ioc must be attached to the new context. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2033626 Reviewed-by: Vladimir Sementsov-Ogievskiy Signed-off-by: Hanna Reitz Signed-off-by:

[PULL v2 1/7] block/nbd: Delete reconnect delay timer when done

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz We start the reconnect delay timer to cancel the reconnection attempt after a while. Once nbd_co_do_establish_connection() has returned, this attempt is over, and we no longer need the timer. Delete it before returning from nbd_reconnect_attempt(), so that it does not persist

[PULL v2 0/7] nbd: handle AioContext change correctly

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
The following changes since commit 0a301624c2f4ced3331ffd5bce85b4274fe132af: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20220208' into staging (2022-02-08 11:40:08 +) are available in the Git repository at: https://src.openvz.org/scm/~vsementsov/qemu.git

Re: [PULL 0/7] nbd: handle AioContext change correctly

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
11.02.2022 15:52, Peter Maydell wrote: On Wed, 9 Feb 2022 at 14:03, Vladimir Sementsov-Ogievskiy wrote: The following changes since commit 0a301624c2f4ced3331ffd5bce85b4274fe132af: Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20220208' into staging (2022-02-08

Re: [PULL 0/7] nbd: handle AioContext change correctly

2022-02-11 Thread Peter Maydell
On Wed, 9 Feb 2022 at 14:03, Vladimir Sementsov-Ogievskiy wrote: > > The following changes since commit 0a301624c2f4ced3331ffd5bce85b4274fe132af: > > Merge remote-tracking branch > 'remotes/pmaydell/tags/pull-target-arm-20220208' into staging (2022-02-08 > 11:40:08 +) > > are available in

Re: [PATCH 3/6] block.c: bdrv_replace_child_noperm: first call ->attach(), and then add child

2022-02-11 Thread Kevin Wolf
Am 08.02.2022 um 16:36 hat Emanuele Giuseppe Esposito geschrieben: > Doing the opposite can make adding the child node to a non-drained node, > as apply_subtree_drain is only done in ->attach() and thus make > assert_bdrv_graph_writable fail. > > This can happen for example during a transaction

[PULL v2 5/7] iotests/281: Test lingering timers

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz Prior to "block/nbd: Delete reconnect delay timer when done" and "block/nbd: Delete open timer when done", both of those timers would remain scheduled even after successfully (re-)connecting to the server, and they would not even be deleted when the BDS is deleted. This test

[PULL v2 4/7] iotests.py: Add QemuStorageDaemon class

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz This is a rather simple class that allows creating a QSD instance running in the background and stopping it when no longer needed. The __del__ handler is a safety net for when something goes so wrong in a test that e.g. the tearDown() method is not called (e.g. setUp()

[PULL v2 3/7] block/nbd: Assert there are no timers when closed

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
From: Hanna Reitz Our two timers must not remain armed beyond nbd_clear_bdrvstate(), or they will access freed data when they fire. This patch is separate from the patches that actually fix the issue (HEAD^^ and HEAD^) so that you can run the associated regression iotest (281) on a

Re: [PATCH v12 5/8] qmp: decode feature & status bits in virtio-status

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > Display feature names instead of bitmaps for host, guest, and > backend for VirtIODevices. > > Display status names instead of bitmaps for VirtIODevices. > > Display feature names instead of bitmaps for backend, protocol, > acked, and features

Re: [PATCH 2/6] block.c: bdrv_replace_child_noperm: first remove the child, and then call ->detach()

2022-02-11 Thread Kevin Wolf
Am 08.02.2022 um 16:36 hat Emanuele Giuseppe Esposito geschrieben: > Doing the opposite can make ->detach() (more precisely > bdrv_unapply_subtree_drain() in bdrv_child_cb_detach) undo the subtree_drain > just performed to protect the removal of the child from the graph, > thus making the

Re: [PATCH v12 7/8] qmp: add QMP command x-query-virtio-queue-element

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > This new command shows the information of a VirtQueue element. > > [Note: Up until v10 of this patch series, virtio.json had many (15+) > enums defined (e.g. decoded device features, statuses, etc.). In v10 > most of these enums were removed and

Re: [PATCH v12 6/8] qmp: add QMP commands for virtio/vhost queue-status

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > These new commands show the internal status of a VirtIODevice's > VirtQueue and a vhost device's vhost_virtqueue (if active). > > Signed-off-by: Jonah Palmer QAPI schema Acked-by: Markus Armbruster

Re: [PATCH v11 7/8] qmp: add QMP command x-query-virtio-queue-element

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > This new command shows the information of a VirtQueue element. > > [Note: Up until v10 of this patch series, virtio.json had many (15+) > enums defined (e.g. decoded device features, statuses, etc.). In v10 > most of these enums were removed and

Re: [PATCH v12 4/8] qmp: add QMP command x-query-virtio-status

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > This new command shows the status of a VirtIODevice, including > its corresponding vhost device's status (if active). > > Next patch will improve output by decoding feature bits, including > vhost device's feature bits (backend, protocol, acked,

Re: [PATCH v11 6/8] qmp: add QMP commands for virtio/vhost queue-status

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > These new commands show the internal status of a VirtIODevice's > VirtQueue and a vhost device's vhost_virtqueue (if active). > > Signed-off-by: Jonah Palmer QAPI schema Acked-by: Markus Armbruster

Re: [PATCH v12 3/8] qmp: add QMP command x-query-virtio

2022-02-11 Thread Markus Armbruster
Jonah Palmer writes: > From: Laurent Vivier > > This new command lists all the instances of VirtIODevices with > their canonical QOM path and name. > > [Jonah: @virtio_list duplicates information that already exists in > the QOM composition tree. However, extracting necessary information >

Re: [PATCH 1/6] block/io.c: fix bdrv_child_cb_drained_begin invocations from a coroutine

2022-02-11 Thread Kevin Wolf
Am 08.02.2022 um 16:36 hat Emanuele Giuseppe Esposito geschrieben: > Using bdrv_do_drained_begin_quiesce() in bdrv_child_cb_drained_begin() > is not a good idea: the callback might be called when running > a drain in a coroutine, and bdrv_drained_begin_poll() does not > handle that case, resulting

Re: [RFC] thread-pool: Add option to fix the pool size

2022-02-11 Thread Kevin Wolf
Am 03.02.2022 um 15:19 hat Stefan Hajnoczi geschrieben: > On Thu, Feb 03, 2022 at 10:56:49AM +, Daniel P. Berrangé wrote: > > On Thu, Feb 03, 2022 at 10:53:07AM +, Stefan Hajnoczi wrote: > > > On Wed, Feb 02, 2022 at 06:52:34PM +0100, Nicolas Saenz Julienne wrote: > > > > The thread pool

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Vladimir Sementsov-Ogievskiy
11.02.2022 12:29, Kevin Wolf wrote: Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: If multiple tests run in parallel, they must use unique file names for the test output. Suggested-by: Hanna Reitz Signed-off-by: Thomas Huth --- tests/qemu-iotests/testrunner.py | 2 +- 1 file changed,

Re: [RFC] thread-pool: Add option to fix the pool size

2022-02-11 Thread Nicolas Saenz Julienne
On Thu, 2022-02-03 at 14:19 +, Stefan Hajnoczi wrote: > Yep, I didn't comment on this because I don't have a good suggestion. > > In terms of semantics I think we should have: > > 1. A global default value that all new AioContext take. The QEMU main >loop's qemu_aio_context will use this

Re: [PATCH v2 1/8] tests/qemu-iotests/testrunner: Allow parallel test invocations

2022-02-11 Thread Kevin Wolf
Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: > If multiple tests run in parallel, they must use unique file > names for the test output. > > Suggested-by: Hanna Reitz > Signed-off-by: Thomas Huth > --- > tests/qemu-iotests/testrunner.py | 2 +- > 1 file changed, 1 insertion(+), 1

Re: [PATCH v5 02/20] job.h: categorize fields in struct Job

2022-02-11 Thread Emanuele Giuseppe Esposito
On 10/02/2022 18:35, Stefan Hajnoczi wrote: > On Thu, Feb 10, 2022 at 05:26:52PM +0100, Emanuele Giuseppe Esposito wrote: >> >> >> On 10/02/2022 16:40, Stefan Hajnoczi wrote: >>> On Tue, Feb 08, 2022 at 09:34:55AM -0500, Emanuele Giuseppe Esposito wrote: Categorize the fields in struct Job

Re: [PATCH v2 2/8] tests/qemu-iotests: Improve the check for GNU sed

2022-02-11 Thread Kevin Wolf
Am 09.02.2022 um 11:15 hat Thomas Huth geschrieben: > Instead of failing the iotests if GNU sed is not available (or skipping > them completely in the check-block.sh script), it would be better to > simply skip the bash-based tests, so that the python-based tests could > still be run. Thus add the

Re: [PATCH v4 10/15] hw/nvme: Remove reg_size variable and update BAR0 size calculation

2022-02-11 Thread Klaus Jensen
On Jan 26 18:11, Lukasz Maniak wrote: > From: Łukasz Gieryk > > The n->reg_size parameter unnecessarily splits the BAR0 size calculation > in two phases; removed to simplify the code. > > With all the calculations done in one place, it seems the pow2ceil, > applied originally to reg_size, is