The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/job.json.
Said commit explains the transforma
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/tpm.json.
Said commit explains the transforma
Resent by accident, please ignore this copy.
Paolo Bonzini writes:
> On 12/8/22 15:39, Markus Armbruster wrote:
>>* Global state (GS) API. These functions run under the BQL.
>>*
>>* See include/block/block-global-state.h for more information about
>> - * the GS API.
>> + * the GS API.b
>>*/
>
> One-character typo.
Thanks!
Philippe Mathieu-Daudé writes:
> qemu_co_mutex_assert_locked() calls qatomic_read(), which
> is declared in . This fixes when refactoring:
>
> In file included from include/qemu/osdep.h:113,
>from ../../util/error-report.c:13:
> include/qemu/coroutine.h: In function 'qemu_
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/net.json.
Said commit explains the transforma
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/transaction.json.
Said commit explains the tr
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/char.json.
Said commit explains the transform
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/ui.json.
Said commit explains the transformat
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/machine*.json.
Said commit explains the trans
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/run-state.json.
Said commit explains the tran
Resent by accident, please ignore this copy.
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/misc.json.
Said commit explains the transform
block-export-add argument @name defaults to the value of argument
@node-name.
nbd_export_create() implements this by copying @node_name to @name.
It leaves @has_node_name false, violating the "has_node_name ==
!!node_name" invariant. Unclean. Falls apart when we elide
@has_node_name (next commit
The next commit will change the code generated for some optional
members. The example schema contains an optional member affected by
the change. Add one that is not affected.
Signed-off-by: Markus Armbruster
Reviewed-by: Daniel P. Berrangé
Message-Id: <20221104160712.3005652-4-arm...@redhat.co
Signed-off-by: Markus Armbruster
Reviewed-by: Daniel P. Berrangé
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20221104160712.3005652-31-arm...@redhat.com>
---
scripts/qapi/schema.py | 6 --
1 file changed, 6 deletions(-)
diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py
inde
QEMU will coredump when vm starts.
Using command line:
./build/qemu-system-x86_64 \
-nodefaults \
-m 4G \
-machine pc-i440fx-4.1 \
-accel kvm \
-cpu host \
-smp 4 \
-device qemu-xhci -device usb-kbd -device usb-tablet \
-drive if=none,id=linux,file=test.img,format
Ping.
This patch still needs review
Link:
https://patchew.org/QEMU/20221207082309.9966-1-quic._5fmthiy...@quicinc.com/
Based on my testing, zsh (all versions) and dash shell (till v5.8, used in
Ubuntu 18.04)
have the behavior of aborting the current loop across function calls when the
break
d
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/pci.json.
Said commit explains the transforma
hw/virtio/virtio.h and hw/virtio/vhost.h include each other. The
former doesn't actually need the latter, so drop that inclusion to
break the loop.
Signed-off-by: Markus Armbruster
---
include/hw/virtio/virtio.h | 1 -
hw/virtio/virtio.c | 1 +
2 files changed, 1 insertion(+), 1 deletio
Thanks xiangdong for the testing and reporting, indeed, vhost-user
negotiaion features saving only apply on dpdk interface, vhost-net and
vdpa interface can be ingored. I'll apply it next version.
Yong
在 2022/12/14 16:15, Liuxiangdong 写道:
QEMU will coredump when vm starts.
Using command line
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/rocker.json.
Said commit explains the transfo
Signed-off-by: Markus Armbruster
Reviewed-by: Daniel P. Berrangé
Message-Id: <20221104160712.3005652-2-arm...@redhat.com>
---
docs/devel/qapi-code-gen.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst
index cd9b544
Signed-off-by: Markus Armbruster
Reviewed-by: Daniel P. Berrangé
Message-Id: <20221104160712.3005652-3-arm...@redhat.com>
---
docs/devel/qapi-code-gen.rst | 1 -
scripts/qapi/commands.py | 7 +++
scripts/qapi/events.py | 1 -
3 files changed, 3 insertions(+), 6 deletions(-)
diff -
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/audio.json.
Said commit explains the transfor
The has_FOO for pointer-valued FOO are redundant, except for arrays.
They are also a nuisance to work with. Recent commit "qapi: Start to
elide redundant has_FOO in generated C" provided the means to elide
them step by step. This is the step for qapi/stats.json.
Said commit explains the transfor
Thanks. I have several questions as below, please help, thanks.
1.What do you mean by "only have debug symbols available for linux-user so"?
What does the linux-user so refer to?
qemu_plugin_insn_symbol() can only see symbols from linux-user so?
2.The purpose of teaching the linux kernel load
On Tue, 29 Nov 2022 11:13:39 +0100
Igor Mammedov wrote:
> Changelog:
>- keep comment reminding that there was a bridge, so it would be easy to
> find
> removed code if someone wishes to bring it back
>- s/IS_PCI_BRIDGE/is_bridge/ in one instance where local is_bridge already
> exis
On Tue, Dec 13, 2022 at 04:38:46PM -0500, Peter Xu wrote:
> From: "manish.mishra"
>
> MSG_PEEK reads from the peek of channel, The data is treated as
> unread and the next read shall still return this data. This
> support is currently added only for socket class. Extra parameter
> 'flags' is adde
Hi, Thomas,
As HAXM v7.8.0 is released and it added XCR0 support, it needs this patch to
add corresponding support into HAX user space of QEMU. I have pushed this merge
request before and Philippe has reviewed it and he thought the change is
correct. If no one else raises any other opinion, cou
On Tue, Dec 13, 2022 at 04:38:47PM -0500, Peter Xu wrote:
> From: "manish.mishra"
>
> Current logic assumes that channel connections on the destination side are
> always established in the same order as the source and the first one will
> always be the main channel followed by the multifid or pos
On 14/12/2022 10.15, Wang, Wenchao wrote:
Hi, Thomas,
As HAXM v7.8.0 is released and it added XCR0 support, it needs this patch to
add corresponding support into HAX user space of QEMU. I have pushed this
merge request before and Philippe has reviewed it and he thought the change
is correct.
Am 25.08.22 um 11:29 schrieb Fiona Ebner:
> Currently, VMXNET3_MAX_MTU itself (being 9000) is not considered a
> valid value for the MTU, but a guest running ESXi 7.0 might try to
> set it and fail the assert [0].
>
> In the Linux kernel, dev->max_mtu itself is a valid value for the MTU
> and for
From: Matthew Rosato
Currently, each unmapped page is handled as an individual iommu
region notification. Attempt to group contiguous unmap operations
into fewer notifications to reduce overhead.
Signed-off-by: Matthew Rosato
Message-Id: <20221028194758.204007-3-mjros...@linux.ibm.com>
Reviewe
These #includes are not required anymore (the likely got superfluous
with commit da76ee76f7 - "hmp-commands-info: move info_cmds content
out of monitor.c").
Message-Id: <20221128133514.220919-1-th...@redhat.com>
Reviewed-by: Markus Armbruster
Signed-off-by: Thomas Huth
---
monitor/misc.c | 6 --
A lot of files in the docs directory do not have a maintainer according to
our MAINTAINERS file, though they can be clearly associated with one of the
sections in there. Add the files now so that our scripts/get_maintainer.pl
script can output the right maintainer for them.
Message-Id: <2022121217
From: Christian Schoenebeck
This test requires environment variable QTEST_QEMU_STORAGE_DAEMON_BINARY
to be defined for running. If not, it would immediately abort all qtests
and prevent other, unrelated tests from running.
To fix that, just skip vhost-user-blk-test instead and log a message
abou
From: Akihiko Odaki
Add a newline after E1000_TCTL write and make it clear that E1000_TCTL
write is what enabling transmit.
Signed-off-by: Akihiko Odaki
Message-Id: <20221110114549.66081-1-akihiko.od...@daynix.com>
Signed-off-by: Thomas Huth
---
tests/qtest/libqos/e1000e.c | 1 +
1 file chang
Building QEMU for ppc64 hosts with --disable-tcg used to break a couple
of times in the past, see e.g. commit a01b64cee7 ("target/ppc: Put do_rfi
under a TCG-only block") or commit 049b4ad669 ("target/ppc: Fix build
warnings when building with 'disable-tcg'"), so we should test this in
our CI to av
From: Bin Meng
Now that we have fixed various test case issues as seen when running
on Windows, let's enable the qtest build on Windows.
Signed-off-by: Bin Meng
Reviewed-by: Thomas Huth
Message-Id: <20221125114100.3184790-4-bmeng...@gmail.com>
Signed-off-by: Thomas Huth
---
tests/qtest/meson
From: Matthew Rosato
Currently, s390x-pci performs accounting against the vfio DMA
limit and triggers the guest to clean up mappings when the limit
is reached. Let's go a step further and also limit the size of
the supported DMA aperture reported to the guest based upon the
initial vfio DMA limit
From: Matthew Rosato
ISM device firmware stores unique state information that can
can cause a wholesale unmap of the associated IOMMU (e.g. when
we get a termination signal for QEMU) to trigger firmware errors
because firmware believes we are attempting to invalidate entries
that are still in-use
The "MOVE TO PRIMARY/SECONDARY" instructions can also be called
from problem state. We just should properly check whether the
secondary-space access key is valid here, too, and inject a
privileged program exception if it is invalid.
Message-Id: <20221205125852.81848-1-th...@redhat.com>
Reviewed-by
The PSW key mask is a 16 bit field, and the psw_key variable is
in the range from 0 to 15, so it does not make sense to use
"0x80 >> psw_key" for testing the bits here. We should use 0x8000
instead.
Message-Id: <20221205142043.95185-1-th...@redhat.com>
Reviewed-by: Nina Schoetterl-Glausch
Reviewe
The "query-command-line-options" command uses a hand-crafted list
of options that should be returned for the "machine" parameter.
This is pretty much out of sync with reality, for example settings
like "kvm_shadow_mem" or "accel" are not parameters for the machine
anymore. Also, there is no distinc
Hi!
The following changes since commit 5204b499a6cae4dfd9fe762d5e6e82224892383b:
mailmap: Fix Stefan Weil author email (2022-12-13 15:56:57 -0500)
are available in the Git repository at:
https://gitlab.com/thuth/qemu.git tags/pull-request-2022-12-14
for you to fetch changes up to 8eeb98e2
From: Brad Smith
Upgrade to 12.4 release
Signed-off-by: Brad Smith
Message-Id:
Tested-by: Philippe Mathieu-Daudé
Reviewed-by: Philippe Mathieu-Daudé
Reviewed by: Warner Losh
Signed-off-by: Thomas Huth
---
.gitlab-ci.d/cirrus.yml | 2 +-
tests/vm/freebsd| 4 ++--
2 files changed, 3
Many users forget to remove the suggestions from the bug template
when creating a new issue. So when searching for strings like "s390x"
or "Windows", you get a lot of unrelated issues in the results.
Thus let's move the suggestions into HTML comments - so they will
still show up in the markdown whe
From: Akihiko Odaki
The "other" kind of interrupts are not used in the tests.
Signed-off-by: Akihiko Odaki
Message-Id: <20221110114045.65544-1-akihiko.od...@daynix.com>
Signed-off-by: Thomas Huth
---
tests/qtest/libqos/e1000e.h | 1 -
tests/qtest/libqos/e1000e.c | 1 -
2 files changed, 2 dele
Print a simple help text if the script has been called with the
wrong amount of parameters.
Message-Id: <20221128092555.37102-2-th...@redhat.com>
Reviewed-by: Alex Bennée
Signed-off-by: Thomas Huth
---
scripts/make-release | 6 ++
1 file changed, 6 insertions(+)
diff --git a/scripts/make-r
From: Bin Meng
qTests don't run successfully with "--without-default-devices",
so let's exclude the qtests from CI for now.
Suggested-by: Marc-André Lureau
Signed-off-by: Bin Meng
Reviewed-by: Thomas Huth
Message-Id: <20221125114100.3184790-3-bmeng...@gmail.com>
Signed-off-by: Thomas Huth
--
Using --single-branch and --depth 1 here helps to speed up the process
a little bit and helps to save some networking bandwidth.
Message-Id: <20221128092555.37102-3-th...@redhat.com>
Reviewed-by: Alex Bennée
Signed-off-by: Thomas Huth
---
scripts/make-release | 10 ++
1 file changed, 6
The comment about g_poll is not required here anymore since
the corresponding code has been removed a while ago already.
Fixes: b4c6036faa ("configure: bump min required glib version to 2.56")
Message-Id: <20221208133257.95673-1-th...@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by:
wanghw364 writes:
> Thanks. I have several questions as below, please help, thanks.
>
> 1.What do you mean by "only have debug symbols available for linux-user so"?
> What does the linux-user so
> refer to?
> qemu_plugin_insn_symbol() can only see symbols from linux-user so?
The linux-user
On 14/12/22 08:58, Markus Armbruster wrote:
Philippe Mathieu-Daudé writes:
qemu_co_mutex_assert_locked() calls qatomic_read(), which
is declared in . This fixes when refactoring:
In file included from include/qemu/osdep.h:113,
from ../../util/error-report.c:13:
inclu
From: Bin Meng
At present the prerequisite packages for 64-bit and 32-bit builds
are slightly different. Let's use the same packages for both for
easier maintenance in the future.
Signed-off-by: Bin Meng
Message-Id: <20221125114100.3184790-1-bmeng...@gmail.com>
Signed-off-by: Thomas Huth
---
On 13/12/2022 00:13, David Woodhouse wrote:
On Mon, 2022-12-12 at 14:58 +, Paul Durrant wrote:
On 09/12/2022 09:56, David Woodhouse wrote:
From: Joao Martins <
joao.m.mart...@oracle.com
Handle the hypercall to set a per vcpu info, and also wire up the
default
vcpu_info in the shared_inf
It seems a little bit weird that the para-virtualized x86 VMWare
devices "vmware-svga" and "vmxnet3" also show up in non-x86 targets.
They are likely pretty useless there (since the guest OSes likely
do not have any drivers for those enabled), so let's change this and
only enable those devices by d
From: Bin Meng
At present the build scripts of 32-bit and 64-bit are inconsistent.
Let's keep them consistent for easier maintenance.
While we are here, add some comments to explain that for the 64-bit
job, "--without-default-devices" is a must have, at least for now.
Signed-off-by: Bin Meng
R
From: Akihiko Odaki
De-duplicate constants found in e1000e_send_verify() and
e1000e_receive_verify() to avoid mismatch and improve readability.
Signed-off-by: Akihiko Odaki
Message-Id: <20221110114426.65951-1-akihiko.od...@daynix.com>
Signed-off-by: Thomas Huth
---
tests/qtest/e1000e-test.c |
On 13/12/2022 18.24, Pierre Morel wrote:
On 12/13/22 14:41, Christian Borntraeger wrote:
Am 12.12.22 um 11:17 schrieb Thomas Huth:
On 12/12/2022 11.10, Pierre Morel wrote:
On 12/12/22 10:07, Thomas Huth wrote:
On 12/12/2022 09.51, Pierre Morel wrote:
On 12/9/22 14:32, Thomas Huth wro
On 16/02/2022 16.42, Alexander von Gluck IV wrote:
---
tests/vm/haiku.x86_64 | 8
1 file changed, 4 insertions(+), 4 deletions(-)
[...]
@@ -48,8 +48,8 @@ class HaikuVM(basevm.BaseVM):
name = "haiku"
arch = "x86_64"
-link = "https://app.vagrantup.com/haiku-os/boxes
On 09.12.22 17:29, Michal Privoznik wrote:
If a memory-backend is configured with mode
HOST_MEM_POLICY_PREFERRED then
host_memory_backend_memory_complete() calls mbind() as:
mbind(..., MPOL_PREFERRED, nodemask, ...);
Here, 'nodemask' is a bitmap of host NUMA nodes and corresponds
to the .hos
Alex Bennée writes:
> wanghw364 writes:
>
>> Thanks. I have several questions as below, please help, thanks.
>>
>> 1.What do you mean by "only have debug symbols available for linux-user so"?
>> What does the linux-user so
>> refer to?
>> qemu_plugin_insn_symbol() can only see symbols from
On Wed, 2022-12-14 at 10:28 +, Paul Durrant wrote:
> On 13/12/2022 00:13, David Woodhouse wrote:
> > On Mon, 2022-12-12 at 14:58 +, Paul Durrant wrote:
> > > On 09/12/2022 09:56, David Woodhouse wrote:
> > > >
> > > > @@ -1811,6 +1811,9 @@ int kvm_arch_init_vcpu(CPUState *cs)
> > > >
On Mon, Dec 12, 2022 at 05:53:21PM +0100, Thomas Huth wrote:
> On 02/03/2021 18.55, Daniel P. Berrangé wrote:
> > Currently the -audiodev accepts any audiodev type regardless of what is
> > built in to QEMU. An error only occurs later at runtime when a sound
> > device tries to use the audio backen
On Mon, Dec 12, 2022 at 05:06:05PM -0500, James Bottomley wrote:
> On Mon, 2022-12-12 at 15:47 +, Daniel P. Berrangé wrote:
> > Copy'ing Markus for QAPI design feedback.
> >
> > On Sat, Dec 10, 2022 at 12:10:18PM -0500, James Bottomley wrote:
> [...]
> > > +##
> > > +# @TPMmssimOptions:
> > >
On Wed, Dec 14, 2022 at 10:09:43AM +0100, Igor Mammedov wrote:
> On Tue, 29 Nov 2022 11:13:39 +0100
> Igor Mammedov wrote:
>
> > Changelog:
> >- keep comment reminding that there was a bridge, so it would be easy to
> > find
> > removed code if someone wishes to bring it back
> >- s
On 12/13/22 20:05, Fabiano Rosas wrote:
> Hi folks,
>
> I'm splitting this big series from Claudio from last year into more
> manageable chunks (at least for me):
>
> https://lore.kernel.org/r/20210416162824.25131-1-cfont...@suse.de
>
> This is the first chunk with only the most trivial patches
On Mon, Dec 12, 2022 at 05:02:43PM -0500, Stefan Berger wrote:
>
>
> On 12/12/22 16:36, James Bottomley wrote:
> > On Mon, 2022-12-12 at 14:32 -0500, Stefan Berger wrote:
> > >
> > >
> > > On 12/12/22 14:12, James Bottomley wrote:
> > > > On Mon, 2022-12-12 at 13:58 -0500, Stefan Berger wrote:
On Mon, Dec 12, 2022 at 01:58:29PM -0500, Stefan Berger wrote:
>
>
> On 12/12/22 13:48, James Bottomley wrote:
> > On Mon, 2022-12-12 at 11:59 -0500, Stefan Berger wrote:
> > >
> > >
> > > On 12/12/22 11:38, James Bottomley wrote:
> > > > On Mon, 2022-12-12 at 15:47 +, Daniel P. Berrangé wr
On 12/14/22 12:00, Alex Bennée wrote:
>
> Alex Bennée writes:
>
>> wanghw364 writes:
>>
>>> Thanks. I have several questions as below, please help, thanks.
>>>
>>> 1.What do you mean by "only have debug symbols available for linux-user
>>> so"? What does the linux-user so
>>> refer to?
>>> q
On Tue, 13 Dec 2022 16:34:52 -0800
Ira Weiny wrote:
> The Flex Bus Port DVSEC was missing on type 3 devices which was blocking
> RAS checks.[1]
>
> Add the Flex Bus Port DVSEC to type 3 devices as per CXL 3.0 8.2.1.3.
>
> [1]
> https://lore.kernel.org/linux-cxl/167096738875.2861540.11815053323
On Wed, 2022-12-14 at 11:52 +, Daniel P. Berrangé wrote:
> It is a shame there isn't a standardized protocol for software TPM
> communication, as that'd avoid the need for multiple backends.
Technically the mssim protocol is the standard, being part of the
reference implementation, but practic
On Wed, 2022-12-14 at 11:31 +, Daniel P. Berrangé wrote:
> On Mon, Dec 12, 2022 at 05:06:05PM -0500, James Bottomley wrote:
> > On Mon, 2022-12-12 at 15:47 +, Daniel P. Berrangé wrote:
> > > Copy'ing Markus for QAPI design feedback.
> > >
> > > On Sat, Dec 10, 2022 at 12:10:18PM -0500, Jam
On 12/7/22 02:23, Mukilan Thiyagarajan wrote:
After configuring with --target-list=hexagon-linux-user
running `make check-tcg` just prints the following:
```
make: Nothing to be done for 'check-tcg'
```
In the probe_target_compiler function, the 'break'
command is used incorrectly. There are no
On 11/26/20 11:49, Laurent Vivier wrote:
> On 25/11/2020 10:39, Michael S. Tsirkin wrote:
>> On Tue, Sep 08, 2020 at 05:33:40PM +0200, Martin Wilck wrote:
>>> On Tue, 2020-09-08 at 10:14 -0400, Michael S. Tsirkin wrote:
On Mon, Aug 31, 2020 at 02:37:26PM +0200, Laurent Vivier wrote:
> On 2
The following changes since commit 5204b499a6cae4dfd9fe762d5e6e82224892383b:
mailmap: Fix Stefan Weil author email (2022-12-13 15:56:57 -0500)
are available in the Git repository at:
https://repo.or.cz/qemu/kevin.git tags/for-upstream
for you to fetch changes up to 2ad19e5dc950d4b340894846b
From: Vladimir Sementsov-Ogievskiy
We are going to increase usage of collecting nodes in a list to then
update, and calling bdrv_topological_dfs() each time is not convenient,
and not correct as we are going to interleave graph modifying with
filling the node list.
So, let's switch to a function
From: Vladimir Sementsov-Ogievskiy
Drop this simple wrapper used only in one place. We have too many graph
modifying functions even without it.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Hanna Reitz
Message-Id: <20221107163558.618889-3-vsement...@yandex-team.ru>
Reviewed-by: Kevi
From: Emanuele Giuseppe Esposito
bdrv_can_store_new_dirty_bitmap and bdrv_remove_persistent_dirty_bitmap
check if they are running in a coroutine, directly calling the
coroutine callback if it's the case.
Except that no coroutine calls such functions, therefore that check
can be removed, and func
Signed-off-by: Kevin Wolf
Message-Id: <20221207131838.239125-16-kw...@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito
Signed-off-by: Kevin Wolf
---
include/block/block_int-common.h | 4 ++--
include/block/graph-lock.h | 4 ++--
block.c | 4 ++--
3 files change
Polling during bdrv_drained_end() can be problematic (and in the future,
we may get cases for bdrv_drained_begin() where polling is forbidden,
and we don't care about already in-flight requests, but just want to
prevent new requests from arriving).
The .bdrv_drained_begin/end callbacks running in
bdrv_drain_invoke() has now two entirely separate cases that share no
code any more and are selected depending on a bool parameter. Each case
has only one caller. Just inline the function.
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Stefan Hajnoczi
Reviewed-
All callers of bdrv_parent_drained_begin_single() pass poll=false now,
so we don't need the parameter any more.
Signed-off-by: Kevin Wolf
Message-Id: <20221118174110.55183-16-kw...@redhat.com>
Reviewed-by: Hanna Reitz
Reviewed-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Kevin Wolf
---
inc
From: Vladimir Sementsov-Ogievskiy
The only caller is bdrv_root_unref_child(), let's just do the logic
directly in it. It simplifies further conversion of
bdrv_root_unref_child() to transaction actions.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Hanna Reitz
Message-Id: <202211071
From: Emanuele Giuseppe Esposito
This new annotation starts just a function wrapper that creates
a new coroutine. It assumes the caller is not a coroutine.
It will be the default annotation to be used in the future.
This is much better as c_w_mixed, because it is clear if the caller
is a corouti
Subtree drains are not used any more. Remove them.
After this, BdrvChildClass.attach/detach() don't poll any more.
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Hanna Reitz
Message-Id: <20221118174110.55183-11-kw...@redhat.com>
Signed-off-by: Kevin Wolf
---
From: Emanuele Giuseppe Esposito
These functions end up calling bdrv_*() implemented as generated_co_wrapper
functions.
In addition, they also happen to be always called in coroutine context,
meaning all callers are coroutine_fn.
This means that the g_c_w function will enter the qemu_in_coroutine
From: Emanuele Giuseppe Esposito
Extend the regex to cover also return type, pointers included.
This implies that the value returned by the function cannot be
a simple "int" anymore, but the custom return type.
Therefore remove poll_state->ret and instead use a per-function
custom "ret" field.
S
From: Emanuele Giuseppe Esposito
Avoid mixing bdrv_* functions with blk_*, so create blk_* counterparts
for bdrv_block_status_above and bdrv_is_allocated_above.
Note that since blk_co_block_status_above only calls the g_c_w function
bdrv_common_block_status_above and is marked as coroutine_fn, c
From: Emanuele Giuseppe Esposito
Add/remove the AioContext in aio_context_list in graph-lock.c when it is
created/destroyed. This allows using the graph locking operations from
this AioContext.
In order to allow linking util/async.c with binaries that don't include
the block layer, introduce stu
From: Vladimir Sementsov-Ogievskiy
Allow passing external Transaction pointer, stop creating extra
Transaction objects.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Hanna Reitz
Message-Id: <20221107163558.618889-4-vsement...@yandex-team.ru>
Reviewed-by: Kevin Wolf
Signed-off-by: K
From: Emanuele Giuseppe Esposito
Protect the main function where graph is modified.
Signed-off-by: Emanuele Giuseppe Esposito
Signed-off-by: Kevin Wolf
Message-Id: <20221207131838.239125-12-kw...@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito
Reviewed-by: Kevin Wolf
Signed-off-by: Kevin
We want to change .bdrv_co_drained_begin() back to be a non-coroutine
callback, so in preparation, avoid yielding in its implementation.
Because we increase bs->in_flight and bdrv_drained_begin() polls, the
behaviour is unchanged.
Signed-off-by: Kevin Wolf
Reviewed-by: Vladimir Sementsov-Ogievsk
From: Emanuele Giuseppe Esposito
These functions end up calling bdrv_common_block_status_above(), a
generated_co_wrapper function.
In addition, they also happen to be always called in coroutine context,
meaning all callers are coroutine_fn.
This means that the g_c_w function will enter the qemu_i
From: Emanuele Giuseppe Esposito
This function is never called in coroutine context, therefore
instead of manually creating a new coroutine, delegate it to the
block-coroutine-wrapper script, defining it as co_wrapper.
Signed-off-by: Emanuele Giuseppe Esposito
Reviewed-by: Kevin Wolf
Reviewed-
From: Paolo Bonzini
Block layer graph operations are always run under BQL in the main loop.
This is proved by the assertion qemu_in_main_thread() and its wrapper
macro GLOBAL_STATE_CODE.
However, there are also concurrent coroutines running in other iothreads
that always try to traverse the grap
We only need to call both the BlockDriver's callback and the parent
callbacks when going from undrained to drained or vice versa. A second
drain section doesn't make a difference for the driver or the parent,
they weren't supposed to send new requests before and after the second
drain.
One thing t
The subtree drain was introduced in commit b1e1af394d9 as a way to avoid
graph changes between finding the base node and changing the block graph
as necessary on completion of the image streaming job.
The block graph could change between these two points because
bdrv_set_backing_hd() first drains
1 - 100 of 194 matches
Mail list logo