On 08/09/2017 10:19 AM, Vladimir Sementsov-Ogievskiy wrote:
> 09.08.2017 18:17, Vladimir Sementsov-Ogievskiy wrote:
>> 185 can sometimes produce wrong output like this:
>>
>>
>> This is because quite happens before first mirror request is done
>
> s/quite/quit/
>
>> (and, in specified case,
John Snow is offline until Monday, QEMU 2.10-rc3 is due to be tagged on
Tuesday, and so I've taken two patches John sent for 2.10 and addressed review
comments.
Kevin Wolf (1):
IDE: test flush on empty CDROM
Stefan Hajnoczi (1):
IDE: Do not flush empty CDROM drives
hw/ide/core.c| 10
Am 08.08.2017 um 19:57 hat John Snow geschrieben:
> From: Kevin Wolf
>
> This allows us to detect errors in cache flushing (ENOMEDIUM)
> without choking on a null dereference because we assume that
> blk_bs(bb) is always defined.
>
> Signed-off-by: Kevin Wolf
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> The previous commit made it unsigned in QMP. Switch HMP's args_type
>> from 'M' to 'o'. Loses support for expressions (QEMU pocket
>> calculator), gains support for units other than
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> "Dr. David Alan Gilbert" writes:
>>
>> > * Markus Armbruster (arm...@redhat.com) wrote:
>> >> Signed-off-by: Markus Armbruster
>> >> ---
>> >>
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> The previous commit made them unsigned in QMP. Switch HMP's args_type
>> from 'l' to 'o'. Loses support for expressions (QEMU pocket
>> calculator), gains support for unit suffixes.
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> Sizes should use QAPI type 'size' (uint64_t). balloon parameter
>> @value is 'int' (int64_t). qmp_balloon() implicitly converts to
>> ram_addr_t, i.e. uint64_t. BALLOON_CHANGE parameter
Eric Blake writes:
> On 08/07/2017 09:45 AM, Markus Armbruster wrote:
>> hbitmap_count() returns uint64_t.
>>
>> Clean up test-hbitmap.c to check its value with g_assert_cmpuint()
>> instead of g_assert_cmpint().
>>
>> bdrv_get_dirty_count() and bdrv_get_meta_dirty_count()
This series adds a throttle block driver filter. Currently throttling is done
at the BlockBackend level. Using block driver interfaces we can move the
throttling to any point in the BDS graph using a throttle node which uses the
existing throttling code. This allows for potentially more complex
On Tue, Aug 08, 2017 at 04:52:25PM +0200, Markus Armbruster wrote:
> Stefan Hajnoczi writes:
>
> > On Tue, Aug 08, 2017 at 10:06:04AM +0200, Markus Armbruster wrote:
> >> Stefan Hajnoczi writes:
> >>
> >> > On Wed, Jul 26, 2017 at 02:24:02PM -0400,
On Mon, Aug 07, 2017 at 07:15:29PM +0300, Alberto Garcia wrote:
> Both the throttling limits set with the throttling.iops-* and
> throttling.bps-* options and their QMP equivalents defined in the
> BlockIOThrottle struct are integer values.
>
> Those limits are also reported in the
This commit eliminates the 1:1 relationship between BlockBackend and
throttle group state. Users will be able to create multiple throttle
nodes, each with its own throttle group state, in the future. The
throttle group state cannot be per-BlockBackend anymore, it must be
per-throttle node. This
timer_cb() needs to know about the current Aio context of the throttle
request that is woken up. In order to make ThrottleGroupMember backend
agnostic, this information is stored in an aio_context field instead of
accessing it from BlockBackend.
Reviewed-by: Alberto Garcia
This is needed to configure throttle filter driver nodes with QAPI.
Signed-off-by: Manos Pitsidianakis
---
qapi/block-core.json | 22 +-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index
block/throttle.c uses existing I/O throttle infrastructure inside a
block filter driver. I/O operations are intercepted in the filter's
read/write coroutines, and referred to block/throttle-groups.c
The driver can be used with the syntax
-drive driver=throttle,file.filename=foo.qcow2, \
Signed-off-by: Manos Pitsidianakis
---
tests/qemu-iotests/184 | 310 +
tests/qemu-iotests/184.out | 422 +
tests/qemu-iotests/group | 1 +
3 files changed, 733 insertions(+)
create mode
Move the CoMutex and CoQueue inits inside throttle_group_register_tgm()
which is called whenever a ThrottleGroupMember is initialized. There's
no need for them to be separate.
Reviewed-by: Alberto Garcia
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Manos
* Markus Armbruster (arm...@redhat.com) wrote:
> "Dr. David Alan Gilbert" writes:
>
> > * Markus Armbruster (arm...@redhat.com) wrote:
> >> Sizes should use QAPI type 'size' (uint64_t). balloon parameter
> >> @value is 'int' (int64_t). qmp_balloon() implicitly converts to
On Wed 09 Aug 2017 11:36:12 AM CEST, Manos Pitsidianakis wrote:
> On Tue, Aug 08, 2017 at 05:04:48PM +0200, Alberto Garcia wrote:
>>On Tue 08 Aug 2017 04:56:20 PM CEST, Manos Pitsidianakis wrote:
> So basically if we have anonymous groups, we accept limits in the
> driver options but only
Omitting the check for whether bdrv_getlength() and bdrv_truncate()
failed meant that it was theoretically possible to return an
incorrect offset to the caller. More likely, conditions for either
of these functions to fail would also cause one of our other calls
(such as bdrv_pread() or
qcow2_co_pwritev_compressed() should not call bdrv_truncate()
if determining the size failed.
Reported-by: Markus Armbruster
Signed-off-by: Eric Blake
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Jeff Cody
On 08/09/2017 11:02 AM, Stefan Hajnoczi wrote:
> The block backend changed in a way that flushing empty CDROM drives now
> crashes. Amend IDE to avoid doing so until the root problem can be
> addressed for 2.11.
>
> Original patch by John Snow .
>
> Reported-by: Kieron
vpc_open() was checking for bdrv_getlength() failure in one, but
not the other, location.
Reported-by: Markus Armbruster
Signed-off-by: Eric Blake
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Jeff Cody
Reviewed-by:
We already have a lot of bdrv_getlength() fixes in -rc2; so I think
this is still okay for -rc3.
v1 was here (with a typo'd subject line):
https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg01226.html
Since v1:
- patch 1: fix error message capitalization (Kevin, R-b kept)
- fix locking bug
The old signature has an ambiguous meaning for a return of 0:
either no allocation was requested or necessary, or an error
occurred (but any errno associated with the error is lost to
the caller, which then has to assume EIO).
Better is to follow the example of qcow2, by changing the
signature to
It's been #if 0'd since its introduction in 2006, commit 585f8587.
We can revive dead code if we need it, but in the meantime, it has
bit-rotted (for example, not checking for failure in bdrv_getlength()).
Signed-off-by: Eric Blake
Reviewed-by: Philippe Mathieu-Daudé
09.08.2017 18:41, Eric Blake wrote:
On 08/09/2017 10:19 AM, Vladimir Sementsov-Ogievskiy wrote:
09.08.2017 18:17, Vladimir Sementsov-Ogievskiy wrote:
185 can sometimes produce wrong output like this:
This is because quite happens before first mirror request is done
s/quite/quit/
(and, in
On 08/09/2017 10:57 AM, Vladimir Sementsov-Ogievskiy wrote:
This is because quite happens before first mirror request is done
>>> s/quite/quit/
>>>
(and, in specified case, even before block-job len field is set).
To prevent it let's just add a sleep for 0.3 seconds before quite.
From: Kevin Wolf
Signed-off-by: Kevin Wolf
Signed-off-by: John Snow
Reviewed-by: Eric Blake
Signed-off-by: Stefan Hajnoczi
---
tests/ide-test.c | 19 +++
1 file changed, 19
The block backend changed in a way that flushing empty CDROM drives now
crashes. Amend IDE to avoid doing so until the root problem can be
addressed for 2.11.
Original patch by John Snow .
Reported-by: Kieron Shorrock
Signed-off-by: Stefan
On Tue, Aug 08, 2017 at 01:57:07PM -0400, John Snow wrote:
> Patches one and two here are a 2.10 bandaid that avoids a crash.
> Patches three and four are a more comprehensive fix as written by
> Kevin in another discussion and are being posted here for the sake
> of a discussion.
>
> Patch three
Eric Blake writes:
> Similar to the previous helper, we can reduce the boilerplate
> of most callers by passing the command name separately from
> the interpolated arguments. Adjust the majority of the callers
> that can use the new helpers; in the process, fixing a few
>
The purpose of this series is to separate the "check" sources from
the tests. After these patches, common.config is reduced to simple
shell initialization, and common.rc is only included by the tests.
Along the way, a lot of dead code is removed too.
Paolo
Paolo Bonzini (12):
qemu-iotests:
It only provides functions used by the test programs.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 6 --
tests/qemu-iotests/common.rc | 13 +
2 files changed, 5 insertions(+), 14 deletions(-)
diff --git a/tests/qemu-iotests/check
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 4 ++--
tests/qemu-iotests/common| 2 +-
tests/qemu-iotests/common.config | 3 ---
3 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
On 08/09/2017 10:57 AM, Markus Armbruster wrote:
> I don't like the qmp_args name. It's not about arguments, it's about
> sending a command with arguments.
>
> I'm afraid I'm getting pretty thorougly confused by the evolving
> interface. So I stop and think how it should look like when done.
On 08/09/2017 06:55 PM, Paolo Bonzini wrote:
The variable is almost unused, and one of the two uses is actually
uninitialized.
Signed-off-by: Paolo Bonzini
Reviewed-by: Philippe Mathieu-Daudé
---
tests/qemu-iotests/check | 5 +
Some functions in common.rc are never used by the tests. Move
them out of that file and into common, which is already included
only by "check".
Code that actually *is* common to "check" and tests can be placed in
common.config.
Signed-off-by: Paolo Bonzini
---
"check" is full of qemu-iotests--specific details. Separating it
from "common" does not make much sense anymore.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 482 +++-
tests/qemu-iotests/common | 501
This includes shell function, shell variables, command line options
(randomize.awk does not exist) and conditions that can never be true
(./qemu does not exist anymore).
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 36 +
The variable is almost unused, and one of the two uses is actually
uninitialized.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 5 +
tests/qemu-iotests/common.rc | 2 +-
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git
These are never used by "check", with one exception that does not need
$QEMU_OPTIONS. Keep them in common.rc, which will be soon included only
by the tests.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/039.out | 10 ++---
tests/qemu-iotests/061.out | 4
With the exception of qnio_server, all the variables are initialized
by "check" prior to "common" being sourced. They cannot be empty.
Only the "realpath" invocation is useful, and can be done just once
in "check" rather than in the tests.
For qnio_server, move the detection to "common",
The function is used in "common" but defined only after the file
is sourced.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 2 --
tests/qemu-iotests/common | 2 ++
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/check
Split "check" parts from tests part.
For the directory setup, the actual computation of directories goes
in "check", while the sanity checks go in the tests.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/common| 24
They are now very small and they do not have external dependencies. We
can source them as soon as we have their path.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git
Looking in the build root is enough.
Signed-off-by: Paolo Bonzini
---
tests/qemu-iotests/check | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index 5b9c0c8ade..e5d1ae3d92 100755
---
On 08/09/2017 04:54 PM, Paolo Bonzini wrote:
> This includes shell function, shell variables, command line options
> (randomize.awk does not exist) and conditions that can never be true
> (./qemu does not exist anymore).
Can we point to a commit id where we stopped making ./qemu? Is it still
On 08/09/2017 04:55 PM, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini
> ---
> tests/qemu-iotests/check | 4 ++--
> tests/qemu-iotests/common| 2 +-
> tests/qemu-iotests/common.config | 3 ---
> 3 files changed, 3 insertions(+), 6 deletions(-)
>
On 08/09/2017 06:55 PM, Paolo Bonzini wrote:
Some functions in common.rc are never used by the tests. Move
them out of that file and into common, which is already included
only by "check".
Code that actually *is* common to "check" and tests can be placed in
common.config.
Signed-off-by: Paolo
On 08/09/2017 06:55 PM, Paolo Bonzini wrote:
It only provides functions used by the test programs.
Signed-off-by: Paolo Bonzini
Reviewed-by: Philippe Mathieu-Daudé
---
tests/qemu-iotests/check | 6 --
tests/qemu-iotests/common.rc | 13
On Wed, Aug 09, 2017 at 02:36:20PM +0200, Alberto Garcia wrote:
On Wed 09 Aug 2017 11:36:12 AM CEST, Manos Pitsidianakis wrote:
On Tue, Aug 08, 2017 at 05:04:48PM +0200, Alberto Garcia wrote:
On Tue 08 Aug 2017 04:56:20 PM CEST, Manos Pitsidianakis wrote:
So basically if we have anonymous
On 08/07/2017 09:45 AM, Markus Armbruster wrote:
> Signed-off-by: Markus Armbruster
> ---
> qobject/qdict.c | 68
> -
> qobject/qlist.c | 2 +-
> 2 files changed, 35 insertions(+), 35 deletions(-)
>
> diff --git
On Wed 09 Aug 2017 03:42:07 PM CEST, Manos Pitsidianakis wrote:
> On Wed, Aug 09, 2017 at 02:36:20PM +0200, Alberto Garcia wrote:
>>On Wed 09 Aug 2017 11:36:12 AM CEST, Manos Pitsidianakis wrote:
>>> On Tue, Aug 08, 2017 at 05:04:48PM +0200, Alberto Garcia wrote:
On Tue 08 Aug 2017 04:56:20 PM
09.08.2017 18:17, Vladimir Sementsov-Ogievskiy wrote:
185 can sometimes produce wrong output like this:
=
185 2s ... - output mismatch (see 185.out.bad)
--- /work/src/qemu/master/tests/qemu-iotests/185.out2017-07-14 \
15:14:29.520343805 +0300
+++
This commit removes all I/O throttling from block/block-backend.c. In
order to support the existing interface, it is changed to use the
block/throttle.c filter driver.
The throttle filter node that is created by the legacy interface is
stored in a 'throttle_node' field in the BlockBackendPublic
All BlockBackend level throttling (via the implicit throttle filter node) is
done in block/block-backend.c and block/throttle-groups.c doesn't know
about BlockBackends anymore. Since BlockBackendPublic is not needed anymore,
remove it.
Signed-off-by: Manos Pitsidianakis
Implicit filter nodes added at the top of nodes can interfere with block
jobs. This is not a problem when they are added by other jobs since
adding another job will issue a QERR_DEVICE_IN_USE, but it can happen in
the next commit which introduces an implicitly created throttle filter
node below
Check that the implicit throttle filter driver node, used for
compatibility with the legacy throttling interface on the BlockBackend
level, works.
Signed-off-by: Manos Pitsidianakis
---
tests/qemu-iotests/191 | 138 +
This series depends on my other series 'add throttle block driver filter'
currently on v4.
Replacing the current I/O interface means the user will use the same options as
before and QEMU will create a hidden throttle filter node beneath the device's
BlockBackend.
v2:
new commit: require
On 08/09/2017 09:02 AM, Manos Pitsidianakis wrote:
> This series depends on my other series 'add throttle block driver filter'
> currently on v4.
More precisely, for patchew:
Based-on: <20170809100734.17540-1-el13...@mail.ntua.gr>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
185 can sometimes produce wrong output like this:
=
185 2s ... - output mismatch (see 185.out.bad)
--- /work/src/qemu/master/tests/qemu-iotests/185.out2017-07-14 \
15:14:29.520343805 +0300
+++ 185.out.bad 2017-08-07 16:51:02.231922900 +0300
@@ -37,7
62 matches
Mail list logo