Hi,
iotest 206 fails for me with:
$ ./check -qcow2 206
QEMU -- ".../tests/qemu-iotests/../../qemu-system-x86_64"
-nodefaults -display none -accel qtest
QEMU_IMG -- ".../tests/qemu-iotests/../../qemu-img"
QEMU_IO -- ".../tests/qemu-iotests/../../qemu-io" --cache writeback
On Wed, Jul 14, 2021 at 08:01:23AM +0200, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Peter noticed that mmio access may read into the NvmeParams member in
> the NvmeCtrl struct.
>
> Fix the bounds check.
>
> Reported-by: Peter Maydell
> Signed-off-by: Klaus Jensen
> ---
> hw/nvme/ctrl.c |
On Mon, Jul 19, 2021 at 08:43:33AM +0200, Klaus Jensen wrote:
> On Jul 14 08:01, Klaus Jensen wrote:
> > From: Klaus Jensen
> >
> > Fix mmio read issues on big-endian hosts. The core issue is that values
> > in the BAR is not stored in little endian as required.
> >
> > Fix that and add a regres
17.07.2021 00:25, Eric Blake wrote:
On Wed, Jul 14, 2021 at 07:59:14PM +0300, Vladimir Sementsov-Ogievskiy wrote:
Split out nbd_recv_coroutine_wake(), as it will be used in separate.
s/in separate/separately/
Also add a possibility to wake only first found sleeping coroutine.
Signed-off-by:
On Wed, 14 Jul 2021 at 07:01, Klaus Jensen wrote:
>
> From: Klaus Jensen
>
> The specification uses a set of 32 bit PMRMSCL and PMRMSCU registers to
> make up the 64 bit logical PMRMSC register.
>
> Make it so.
>
> Signed-off-by: Klaus Jensen
> ---
> include/block/nvme.h | 31 --
On Wed, 14 Jul 2021 at 07:01, Klaus Jensen wrote:
>
> From: Klaus Jensen
>
> Peter noticed that mmio access may read into the NvmeParams member in
> the NvmeCtrl struct.
>
> Fix the bounds check.
>
> Reported-by: Peter Maydell
> Signed-off-by: Klaus Jensen
> ---
> hw/nvme/ctrl.c | 27 +
On Fri, Jul 16, 2021 at 05:23:50PM +0200, Kevin Wolf wrote:
> Am 13.07.2021 um 15:10 hat Stefan Hajnoczi geschrieben:
> > AIO_WAIT_WHILE() requires that AioContext is acquired according to its
> > documentation, but I'm not sure that's true anymore. Thread-safe/atomic
> > primitives are used by AIO
On Jul 19 10:13, Peter Maydell wrote:
> On Wed, 14 Jul 2021 at 07:01, Klaus Jensen wrote:
> >
> > From: Klaus Jensen
> >
> > The specification uses a set of 32 bit PMRMSCL and PMRMSCU registers to
> > make up the 64 bit logical PMRMSC register.
> >
> > Make it so.
> >
> > Signed-off-by: Klaus Jen
On Wed, 14 Jul 2021 at 07:01, Klaus Jensen wrote:
>
> From: Klaus Jensen
>
> The new PMR test unearthed a long-standing issue with MMIO reads on
> big-endian hosts.
>
> Fix this by unconditionally storing all controller registers in little
> endian.
>
> Cc: Gollu Appalanaidu
> Reported-by: Peter
On Tue, Jul 13, 2021 at 03:51:15PM +0100, Stefan Hajnoczi wrote:
On Wed, Jul 07, 2021 at 05:00:18PM +0200, Stefano Garzarella wrote:
diff --git a/qapi/misc.json b/qapi/misc.json
index 156f98203e..f64bb69f74 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -86,6 +86,9 @@
# @poll-shrink: how m
Am 12.07.2021 um 07:38 hat Zhiyong Ye geschrieben:
> When bdrv_set_aio_context_ignore() is called in the main loop to change
> the AioContext onto the IO thread, the bdrv_drain_invoke_entry() never
> gets to run and the IO thread hangs at co_schedule_bh_cb().
>
> This is because the AioContext is
On Tue, Jul 13, 2021 at 03:58:04PM +0100, Stefan Hajnoczi wrote:
On Wed, Jul 07, 2021 at 05:00:19PM +0200, Stefano Garzarella wrote:
@@ -371,7 +375,7 @@ static int laio_do_submit(int fd, struct qemu_laiocb
*laiocb, off_t offset,
s->io_q.in_queue++;
if (!s->io_q.blocked &&
(!s
16.07.2021 13:34, Vladimir Sementsov-Ogievskiy wrote:
16.07.2021 13:07, Max Reitz wrote:
On 05.07.21 11:15, Vladimir Sementsov-Ogievskiy wrote:
Adding support of IMGOPTS (like in bash tests) allows user to pass a
lot of different options. Still, some may require additional logic.
Now we want c
19.07.2021 15:58, Vladimir Sementsov-Ogievskiy wrote:
Could also be done with something like
imgopts = os.environ.get('IMGOPTS')
imgopts is a string after it. So you don't need to join it?
opts = optstr2dict(','.join(([imgopts] if imgopts else []) + parsed.o))
Build a string to be than
Am 19.07.2021 um 11:29 hat Stefan Hajnoczi geschrieben:
> On Fri, Jul 16, 2021 at 05:23:50PM +0200, Kevin Wolf wrote:
> > Am 13.07.2021 um 15:10 hat Stefan Hajnoczi geschrieben:
> > > AIO_WAIT_WHILE() requires that AioContext is acquired according to its
> > > documentation, but I'm not sure that's
On Fri, Jul 09, 2021 at 09:04:30AM -0700, Keith Busch wrote:
+int hal_init()
+{
+int retval = -1;
+switch (GetSidebandInterface()) {
+case qemu_nvme_mi:
+retval = qemu_mi_init();
+break;
+default:
+break;
+}
+return retval;
+}
+
+int hal_open()
+{
+
From: Emanuele Giuseppe Esposito
Extract to a separate function. Do not rely on FOREACH_SAFE, which is
only "safe" if the *current* node is removed---not if another node is
removed. Instead, just walk the entire list from the beginning when
asked to resume all suspended requests with a given ta
From: Emanuele Giuseppe Esposito
Add a counter for each action that a rule can trigger.
This is mainly used to keep track of how many coroutine_yield()
we need to perform after processing all rules in the list.
Co-developed-by: Paolo Bonzini
Signed-off-by: Emanuele Giuseppe Esposito
Reviewed-b
The following changes since commit 7457b407edd6e8555e4b46488aab2f13959fccf8:
Merge remote-tracking branch
'remotes/thuth-gitlab/tags/pull-request-2021-07-19' into staging (2021-07-19
11:34:08 +0100)
are available in the Git repository at:
https://github.com/XanClic/qemu.git tags/pull-block
From: Emanuele Giuseppe Esposito
We want to move qemu_coroutine_yield() after the loop on rules,
because QLIST_FOREACH_SAFE is wrong if the rule list is modified
while the coroutine has yielded. Therefore move the suspended
request to the heap and clean it up from the remove side.
All that is le
From: Emanuele Giuseppe Esposito
That would be unsafe in case a rule other than the current one
is removed while the coroutine has yielded.
Keep FOREACH_SAFE because suspend_request deletes the current rule.
After this patch, *all* matching rules are deleted before suspending
the coroutine, rath
From: Emanuele Giuseppe Esposito
First, categorize the structure fields to identify what needs
to be protected and what doesn't.
We essentially need to protect only .state, and the 3 lists in
BDRVBlkdebugState.
Then, add the lock and mark the functions accordingly.
Co-developed-by: Paolo Bonzi
From: Emanuele Giuseppe Esposito
There seems to be no benefit in using a field. Replace it with a local
variable, and move the state update before the yields.
The state update has do be done before the yields because now using
a local variable does not allow the new updated state to be visible
b
From: Klaus Jensen
The specification uses a set of 32 bit PMRMSCL and PMRMSCU registers to
make up the 64 bit logical PMRMSC register.
Make it so.
Signed-off-by: Klaus Jensen
---
include/block/nvme.h | 31 ---
hw/nvme/ctrl.c | 9 +
2 files changed, 2
From: Klaus Jensen
Fix mmio read issues on big-endian hosts. The core issue is that values
in the BAR is not stored in little endian as required.
Fix that and add a regression test for this. This required a bit of
cleanup, so it blew up into a series.
v4:
* "hw/nvme: split pmrmsc register int
From: Klaus Jensen
Peter noticed that mmio access may read into the NvmeParams member in
the NvmeCtrl struct.
Fix the bounds check.
Reported-by: Peter Maydell
Signed-off-by: Klaus Jensen
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Peter Maydell
---
hw/nvme/ctrl.c | 27 +++
From: Klaus Jensen
The new PMR test unearthed a long-standing issue with MMIO reads on
big-endian hosts.
Fix this by unconditionally storing all controller registers in little
endian.
Cc: Gollu Appalanaidu
Reported-by: Peter Maydell
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 290 +
From: Klaus Jensen
Add the NvmeBarRegs enum and use these instead of explicit register
offsets.
Signed-off-by: Klaus Jensen
Reviewed-by: Gollu Appalanaidu
Reviewed-by: Philippe Mathieu-Daudé
---
include/block/nvme.h | 29 -
hw/nvme/ctrl.c | 44 ++
On Jul 19 22:07, Klaus Jensen wrote:
> From: Klaus Jensen
>
> The new PMR test unearthed a long-standing issue with MMIO reads on
> big-endian hosts.
>
> Fix this by unconditionally storing all controller registers in little
> endian.
>
> Cc: Gollu Appalanaidu
> Reported-by: Peter Maydell
> S
From: Klaus Jensen
Add a regression test for mmio read on big-endian hosts.
Signed-off-by: Klaus Jensen
Reviewed-by: Gollu Appalanaidu
---
tests/qtest/nvme-test.c | 26 ++
1 file changed, 26 insertions(+)
diff --git a/tests/qtest/nvme-test.c b/tests/qtest/nvme-test.c
From: Klaus Jensen
Fix mmio read issues on big-endian hosts. The core issue is that values
in the BAR is not stored in little endian as required.
Fix that and add a regression test for this. This required a bit of
cleanup, so it blew up into a series.
v5:
* "hw/nvme: fix mmio read"
- Hurr
From: Klaus Jensen
The specification uses a set of 32 bit PMRMSCL and PMRMSCU registers to
make up the 64 bit logical PMRMSC register.
Make it so.
Signed-off-by: Klaus Jensen
---
include/block/nvme.h | 31 ---
hw/nvme/ctrl.c | 9 +
2 files changed, 2
From: Klaus Jensen
Add the NvmeBarRegs enum and use these instead of explicit register
offsets.
Signed-off-by: Klaus Jensen
Reviewed-by: Gollu Appalanaidu
Reviewed-by: Philippe Mathieu-Daudé
---
include/block/nvme.h | 29 -
hw/nvme/ctrl.c | 44 ++
From: Klaus Jensen
Peter noticed that mmio access may read into the NvmeParams member in
the NvmeCtrl struct.
Fix the bounds check.
Reported-by: Peter Maydell
Signed-off-by: Klaus Jensen
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Peter Maydell
---
hw/nvme/ctrl.c | 27 +++
From: Klaus Jensen
Add a regression test for mmio read on big-endian hosts.
Signed-off-by: Klaus Jensen
Reviewed-by: Gollu Appalanaidu
---
tests/qtest/nvme-test.c | 26 ++
1 file changed, 26 insertions(+)
diff --git a/tests/qtest/nvme-test.c b/tests/qtest/nvme-test.c
From: Klaus Jensen
The new PMR test unearthed a long-standing issue with MMIO reads on
big-endian hosts.
Fix this by unconditionally storing all controller registers in little
endian.
Cc: Gollu Appalanaidu
Reported-by: Peter Maydell
Signed-off-by: Klaus Jensen
---
hw/nvme/ctrl.c | 290 +
On Tue, Jul 20, 2021 at 12:46:44AM +0200, Klaus Jensen wrote:
> From: Klaus Jensen
>
> Add the NvmeBarRegs enum and use these instead of explicit register
> offsets.
Thanks, this is a very nice cleanup. For a suggested follow-up companion
patch, we should add "ASSERT_OFFSET()" checks for each re
On Mon, Jul 19, 2021 at 10:06:01AM +0200, Thomas Huth wrote:
> Hi,
>
> iotest 206 fails for me with:
>
> --- 206.out
> +++ 206.out.bad
> @@ -99,55 +99,19 @@
>
> {"execute": "blockdev-create", "arguments": {"job-id": "job0", "options":
> {"driver": "qcow2", "encrypt": {"cipher-alg": "twofish-1
38 matches
Mail list logo