On 08/01/2017 05:31 PM, Cleber Rosa wrote:
> A race condition is currently present between the clean up attempt of
> the QEMU process and the execution of qemu-img. The actual (bad)
> output is:
>
> -Warning: Image size mismatch!
> -Images are identical.
> +qemu-img: Could not open '/tests/q
On Tue, Aug 01, 2017 at 05:31:27PM -0400, Cleber Rosa wrote:
> A race condition is currently present between the clean up attempt of
> the QEMU process and the execution of qemu-img. The actual (bad)
> output is:
>
> -Warning: Image size mismatch!
> -Images are identical.
> +qemu-img: Could no
On 08/01/2017 04:31 PM, Cleber Rosa wrote:
> A race condition is currently present between the clean up attempt of
> the QEMU process and the execution of qemu-img. The actual (bad)
> output is:
>
> -Warning: Image size mismatch!
> -Images are identical.
> +qemu-img: Could not open '/tests/qem
On Tue, Aug 01, 2017 at 08:34:01AM +0200, Markus Armbruster wrote:
> Jeff Cody writes:
>
> > Now that ./check takes care of cleaning up after each tests, it
> > can also selectively not clean up. Add option to leave all output from
> > tests intact if that test encountered an error.
> >
> > Note
A race condition is currently present between the clean up attempt of
the QEMU process and the execution of qemu-img. The actual (bad)
output is:
-Warning: Image size mismatch!
-Images are identical.
+qemu-img: Could not open '/tests/qemu-iotests/scratch/t.raw':
Failed to get "consistent read
A race condition is currently present between the clean up attempt of
the QEMU process and the execution of qemu-img.
Cleber Rosa(1):
qemu-iotests/109: Fix lock/race condition
tests/qemu-iotests/109 | 3 ++-
tests/qemu-iotests/109.out | 56 ++
On 1 August 2017 at 17:12, Kevin Wolf wrote:
> The following changes since commit 5619c179057e24195ff19c8fe6d6a6cbcb16ed28:
>
> Merge remote-tracking branch
> 'remotes/pmaydell/tags/pull-target-arm-20170731' into staging (2017-07-31
> 14:45:42 +0100)
>
> are available in the git repository at:
On Tue, Aug 01, 2017 at 04:47:03PM +0100, Stefan Hajnoczi wrote:
On Mon, Jul 31, 2017 at 12:54:40PM +0300, Manos Pitsidianakis wrote:
ThrottleGroup is converted to an object. This will allow the future
throttle block filter drive easy creation and configuration of throttle
groups in QMP and cli.
On Mon, Jul 31, 2017 at 12:54:41PM +0300, Manos Pitsidianakis wrote:
> +static int throttle_configure_tgm(BlockDriverState *bs,
> + ThrottleGroupMember *tgm,
> + QDict *options, Error **errp)
> +{
> +int ret;
> +ThrottleConfi
On Mon, Jul 31, 2017 at 12:54:40PM +0300, Manos Pitsidianakis wrote:
> ThrottleGroup is converted to an object. This will allow the future
> throttle block filter drive easy creation and configuration of throttle
> groups in QMP and cli.
>
> A new QAPI struct, ThrottleLimits, is introduced to prov
On Mon, Jul 31, 2017 at 12:54:42PM +0300, Manos Pitsidianakis wrote:
> @@ -3095,6 +3096,22 @@
> '*tls-creds': 'str' } }
>
> ##
> +# @BlockdevOptionsThrottle:
> +#
> +# Driver specific block device options for the throttle driver
> +#
> +# @throttle-group: the name of the throttle-
The following changes since commit 5619c179057e24195ff19c8fe6d6a6cbcb16ed28:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170731'
into staging (2017-07-31 14:45:42 +0100)
are available in the git repository at:
git://repo.or.cz/qemu/kevin.git tags/for-upstream
for
Am 01.08.2017 um 18:01 hat Peter Maydell geschrieben:
> On 1 August 2017 at 15:46, Kevin Wolf wrote:
> > The following changes since commit 5619c179057e24195ff19c8fe6d6a6cbcb16ed28:
> >
> > Merge remote-tracking branch
> > 'remotes/pmaydell/tags/pull-target-arm-20170731' into staging (2017-07-3
On 1 August 2017 at 15:46, Kevin Wolf wrote:
> The following changes since commit 5619c179057e24195ff19c8fe6d6a6cbcb16ed28:
>
> Merge remote-tracking branch
> 'remotes/pmaydell/tags/pull-target-arm-20170731' into staging (2017-07-31
> 14:45:42 +0100)
>
> are available in the git repository at:
01.08.2017 18:41, Vladimir Sementsov-Ogievskiy wrote:
07.02.2017 23:14, Eric Blake wrote:
On 02/03/2017 09:47 AM, Vladimir Sementsov-Ogievskiy wrote:
Minimal implementation: always send DF flag, to not deal with
fragmented
replies.
This works well with your minimal server implementation, but
07.02.2017 23:14, Eric Blake wrote:
On 02/03/2017 09:47 AM, Vladimir Sementsov-Ogievskiy wrote:
Minimal implementation: always send DF flag, to not deal with fragmented
replies.
This works well with your minimal server implementation, but I worry
that it will cause us to fall over when talking
qemu-iotests 059 left a whole lot of image files behind in the scratch
directory because VMDK creates additional files for extents and cleaning
them up requires the original image intact (it parses qemu-img info
output to find all extent files), but the image overwrote it many times
like it works f
qemu-iotests 153 left t.qcow2.c behind in the scratch directory. Make
sure to clean it up after completing the tests.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/153 | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qemu-iotests/153 b
qemu-iotests 063 left t.raw.raw1 behind in the scratch directory because
it used the wrong suffix. Make sure to clean it up after completing the
test.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/063 | 4 +---
1 file changed, 1 insertion(+), 3
qemu-iotests 141 attempted to use brace expansion to remove all images
with a single command. However, for this to work, the braces shouldn't
be quoted.
With this fix, the tests correctly cleans up its scratch images.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
qemu-iotests 162 left qemu-nbd.pid behind in the scratch directory, and
potentially a file called '42' in the current directory. Make sure to
clean it up after completing the tests.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/162 | 7 +++
qemu-iotests 041 left quorum_snapshot.img and target.img behind in the
scratch directory. Make sure to clean up after completing the tests.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/041 | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(
qemu-iotests 074 and 179 left a blkdebug.conf behind in the scratch
directory. Make sure to clean up after completing the tests.
Signed-off-by: Kevin Wolf
Reviewed-by: Jeff Cody
Reviewed-by: Eric Blake
---
tests/qemu-iotests/074 | 1 +
tests/qemu-iotests/179 | 1 +
2 files changed, 2 insertion
When skipping implicit nodes in bdrv_block_device_info(), we know that
bs0 is always non-NULL; initially, because it's taken from a BdrvChild
and a BdrvChild never has a NULL bs, and after the first iteration
because implicit nodes always have a backing file.
Remove the NULL check and add an asser
From: Stefan Hajnoczi
Block driver documentation is available in qemu-doc.html. It would be
convenient to have documentation for formats, protocols, and filter
drivers in a man page.
Extract the relevant part of qemu-doc.html into a new file called
docs/qemu-block-drivers.texi. This file can a
From: Max Reitz
On one hand, the _make_test_img invocation for creating the target image
was missing a -u because its backing file is not supposed to exist at
that point.
On the other hand, nobody noticed probably because the backing file is
created later on and _cleanup failed to remove it: The
From: Manos Pitsidianakis
bdrv_open_driver() is called in two places, bdrv_new_open_driver() and
bdrv_open_common(). In the latter, failure cleanup in is in its caller,
bdrv_open_inherit(), which unrefs the bs->file of the failed driver open
if it exists.
Let's move the bs->file cleanup to bdrv_
From: Manos Pitsidianakis
In some error paths it is possible to QDECREF a freed dangling
explicit_options, resulting in a heap overflow crash. For example
bdrv_open_inherit()'s fail unrefs it, then calls bdrv_unref which calls
bdrv_close which also unrefs it.
Signed-off-by: Manos Pitsidianakis
From: Max Reitz
Without redirecting qemu's stderr to stdout, _filter_qemu will not apply
to warnings. This results in $QEMU_PROG not being replaced by QEMU_PROG
which is not great if your qemu executable is not called
qemu-system-x86_64 (e.g. qemu-system-i386).
Signed-off-by: Max Reitz
Reviewe
From: Eric Blake
We had a bug for multiple releases where dirty-bitmap count was
documented in bytes but reported in sectors; enhance the testsuite
to add coverage of DirtyBitmapInfo to ensure we do not regress again.
Signed-off-by: Eric Blake
Reviewed-by: Stefan Hajnoczi
Reviewed-by: John Sno
From: Eric Blake
The new test 190 ensures we don't regress back to an infinite loop when
measuring the size of a 2T+ qcow2 image. I did not append to test 178,
because that test is also designed to run with format 'raw'; also, this
gives us some coverage of the measure command under the quick gr
The following changes since commit 5619c179057e24195ff19c8fe6d6a6cbcb16ed28:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20170731'
into staging (2017-07-31 14:45:42 +0100)
are available in the git repository at:
git://repo.or.cz/qemu/kevin.git tags/for-upstream
for
Signed-off-by: Anton Nefedov
---
tests/qemu-iotests/190 | 146 +
tests/qemu-iotests/190.out | 50
tests/qemu-iotests/group | 1 +
3 files changed, 197 insertions(+)
create mode 100755 tests/qemu-iotests/190
create mode 100644
It can be detected that
1. COW alignment of a write request is zeroes
2. Respective areas on the underlying BDS already read as zeroes
after being preallocated previously
If both of these true, COW may be skipped
Signed-off-by: Anton Nefedov
---
block/qcow2.h | 12 +++
From: "Denis V. Lunev"
This could be done after calculation of the end of data and metadata in
the qcow2 image.
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block/qcow2.h | 3 +++
block/qcow2-cluster.c | 9 +
block/qcow2-refcount.c | 7 +++
block/qcow2.
Stefan Hajnoczi writes:
> On Wed, Jul 26, 2017 at 08:02:53PM +0800, Mao Zhongyi wrote:
>> When the function no success value to transmit, it usually make the
>> function return void. It has turned out not to be a success, because
>> it means that the extra local_err variable and error_propagate()
From: "Denis V. Lunev"
This patch adds image preallocation at expand to provide better locality
of QCOW2 image file and optimize this procedure for some distributed
storage where this procedure is slow.
Preallocation is not issued upon writing metadata clusters.
Possible conflicts are resolved
COW (even empty/zero) areas require encryption too
Signed-off-by: Anton Nefedov
---
tests/qemu-iotests/134 | 9 +
tests/qemu-iotests/134.out | 10 ++
2 files changed, 19 insertions(+)
diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotests/134
index 9914415..6083ae4 100755
From: Pavel Butsykin
Preallocated space in the image may remain unused; the patch adds
the functionality to identify and fix it in the qcow2_check
to avoid wasting storage space on the host.
Signed-off-by: Pavel Butsykin
Signed-off-by: Denis V. Lunev
Signed-off-by: Anton Nefedov
---
block/qc
Changes in v4:
- rebased on top of Eric's series
[PATCH v2 00/20] add byte-based block_status driver callbacks
http://lists.nongnu.org/archive/html/qemu-devel/2017-07/msg04370.html
- patch 5 fixed to compile without CONFIG_FALLOCATE and support
BDRV_REQ_ALLOCATE with xfsctl enable
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 45 ++---
1 file changed, 22 insertions(+), 23 deletions(-)
diff --git a/block/qcow2.c b/block/qcow2.c
index f522ba9..2ec8b03 100644
--- a/b
If COW areas of the newly allocated clusters are zeroes on the backing image:
(even if preallocation feature is not used or it cannot detect if the image
already reads as zeroes, e.g. writing to a hole / preallocated zero cluster)
efficient bdrv_write_zeroes(flags=BDRV_REQ_ALLOCATE) can be used on
The flag is supposed to indicate that the region of the disk image has
to be sufficiently allocated so it reads as zeroes. The call with the flag
set has to return -ENOTSUP if allocation cannot be done efficiently
(i.e. without falling back to writing actual buffers)
Signed-off-by: Anton Nefedov
Signed-off-by: Anton Nefedov
---
block/blkverify.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/block/blkverify.c b/block/blkverify.c
index 06369f9..9ba65d0 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -140,6 +140,15 @@ static int blkverify_open(BlockDriverState *bs,
The idea is that ALLOCATE requests may overlap with other requests.
Reuse the existing block layer infrastructure for serialising requests.
Use the following approach:
- mark ALLOCATE serialising, so subsequent requests to the area wait
- ALLOCATE request itself must never wait if another reque
Qcow2State and BlockDriverState flags have to be in sync
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/block/qcow2.c b/block/qcow2.c
index 66aa8c2..2a1d2f2 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2138,6 +2138,7 @@ static int qcow2_i
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
block/blkverify.c | 2 +-
block/mirror.c | 2 +-
block/raw-format.c | 3 ++-
4 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/block/blkdebug.c b/block/blkdebug.c
ind
Current write_zeroes implementation is good enough to satisfy this flag too
Signed-off-by: Anton Nefedov
---
block/file-posix.c | 8
1 file changed, 8 insertions(+)
diff --git a/block/file-posix.c b/block/file-posix.c
index 765a440..4ef1b1d 100644
--- a/block/file-posix.c
+++ b/block/f
Signed-off-by: Anton Nefedov
---
block/mirror.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/block/mirror.c b/block/mirror.c
index d46dace..7e539f1 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1056,6 +1056,11 @@ static void
bdrv_mirror_top_refresh_filename(BlockDriverState *b
On Tue, Aug 01, 2017 at 03:50:36PM +0200, Kevin Wolf wrote:
Am 31.07.2017 um 19:30 hat Manos Pitsidianakis geschrieben:
On Fri, Jul 28, 2017 at 02:08:43PM +0200, Kevin Wolf wrote:
> Am 27.07.2017 um 12:07 hat Stefan Hajnoczi geschrieben:
> > On Wed, Jul 26, 2017 at 09:23:20PM +0300, Manos Pitsid
Allow passing a QDict *options parameter to bdrv_new_open_driver() so
that it can be used if a driver needs it upon creation. The previous
behaviour (empty bs->options and bs->explicit_options) remains when
options is NULL.
Signed-off-by: Manos Pitsidianakis
---
block.c | 16 ++
Am 31.07.2017 um 19:30 hat Manos Pitsidianakis geschrieben:
> On Fri, Jul 28, 2017 at 02:08:43PM +0200, Kevin Wolf wrote:
> > Am 27.07.2017 um 12:07 hat Stefan Hajnoczi geschrieben:
> > > On Wed, Jul 26, 2017 at 09:23:20PM +0300, Manos Pitsidianakis wrote:
> > > > On Wed, Jul 26, 2017 at 04:12:21PM
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 Blo
This series depends on my other series 'add throttle block driver filter'
currently on v3, which as the name suggests adds a throttle filter driver.
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
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 of
Am 01.08.2017 um 10:35 hat Paolo Bonzini geschrieben:
> On 01/08/2017 02:14, John Snow wrote:
> > I may need some nudging towards understanding what the right solution
> > here is, though. Should the blk_aio_flush assume that there always is a
> > root BDS? should it not assume that?
>
> I think b
On Wed, Jul 26, 2017 at 08:02:53PM +0800, Mao Zhongyi wrote:
> When the function no success value to transmit, it usually make the
> function return void. It has turned out not to be a success, because
> it means that the extra local_err variable and error_propagate() will
> be needed. It leads to
On 28/07/2017 19:52, Marc-André Lureau wrote:
>
> Stupid question: what's the benefit?
>
> scsi_create/scsi_free is a library API. If they have their own
> allocator, we better use it, or it may easily break, no?
Well, that would be an API breakage, but I see the point. I think I
would pr
On 07/31/2017 10:13 PM, Eric Blake wrote:
On 07/31/2017 11:22 AM, Anton Nefedov wrote:
To be used in the following commit without a forward declaration.
Signed-off-by: Anton Nefedov
---
block/qcow2.c | 39 +++
1 file changed, 19 insertions(+), 20 deletion
On 07/31/2017 10:11 PM, Eric Blake wrote:
On 07/31/2017 11:21 AM, Anton Nefedov wrote:
Support the flag if the underlying BDS supports it
Signed-off-by: Anton Nefedov
---
block/blkdebug.c | 3 ++-
block/raw-format.c | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
What about
On Mon, Jul 31, 2017 at 12:28:44PM -0500, Eric Blake wrote:
> On 07/31/2017 11:26 AM, Stefan Hajnoczi wrote:
> > There is not much getting started documentation for qemu-iotests. This
> > patch explains how to create a new test and covers the overall testing
> > approach.
> >
> > Cc: Ishani Chugh
On 01/08/2017 02:14, John Snow wrote:
> I may need some nudging towards understanding what the right solution
> here is, though. Should the blk_aio_flush assume that there always is a
> root BDS? should it not assume that?
I think blk_aio_flush is not special. If there is no root BDS, either
you
62 matches
Mail list logo