First, thanks for the quick feedback!
On Tue, May 30, 2017 at 02:24:40PM -0500, Eric Blake wrote:
> On 05/30/2017 10:38 AM, Kashyap Chamarthy wrote:
> > This edition documents all four operations:
[...]
> s/occurance/occurrence/
>
> > use raw JSON; for subsequent occurances, use
On 05/26/2017 11:55 AM, Max Reitz wrote:
> Add a --preallocation command line option to qemu-img resize which can
> be used to set the PreallocMode parameter of blk_truncate().
>
> Signed-off-by: Max Reitz
> ---
> qemu-img.c| 33 ++---
>
On 05/30/2017 03:24 PM, Kashyap Chamarthy wrote:
> First, thanks for the quick feedback!
>
> On Tue, May 30, 2017 at 02:24:40PM -0500, Eric Blake wrote:
>> On 05/30/2017 10:38 AM, Kashyap Chamarthy wrote:
>>> This edition documents all four operations:
>
>>> +
>>> +(1) `Disk image backing chain
On 05/26/2017 11:55 AM, Max Reitz wrote:
> preallocate() is and will be called only from places that do not lock
Maybe: "that do not otherwise need to lock"
> s->lock: Currently that is qcow2_create2(), as of a future patch it will
> be called from qcow2_truncate(), too.
>
> It therefore makes
Store persistent dirty bitmaps in qcow2 image.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
block/qcow2-bitmap.c | 475 +++
block/qcow2.c| 9 +
block/qcow2.h
On Mon, May 29, 2017 at 05:06:39PM +0200, Kevin Wolf wrote:
> The following changes since commit 9964e96dccf7f7c936ee854a795415d19b60:
>
> Merge remote-tracking branch 'jasowang/tags/net-pull-request' into staging
> (2017-05-23 15:01:31 +0100)
>
> are available in the git repository at:
>
Thank you for this scenario. Hmm.
So, as I need guarantee that image and bitmap are unchanged,
bdrv_set_dirty should return error and fail the whole write. Ok?
29.05.2017 21:35, Max Reitz wrote:
On 2017-05-03 14:25, Vladimir Sementsov-Ogievskiy wrote:
It will be needed in following commits
On 30.05.2017 07:20, Markus Armbruster wrote:
> Thomas Huth writes:
>
>> We likely do not want to carry these legacy -drive options along forever.
>> Let's emit a deprecation warning for the -drive options that have a
>> replacement with the -device option, so that the
We should release them here to reload on invalidate cache.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block.c | 4
block/dirty-bitmap.c | 29 +++--
include/block/dirty-bitmap.h | 1 +
3 files changed, 28
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: John Snow
---
docs/specs/qcow2.txt | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt
index 80cdfd0e91..dda53dd2a3 100644
---
Realize .bdrv_remove_persistent_dirty_bitmap interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
block/qcow2-bitmap.c | 41 +
Make getter signature const-correct. This allows other functions with
const dirty bitmap parameter use bdrv_dirty_bitmap_granularity().
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Eric Blake
Reviewed-by: John Snow
This will be needed to check some restrictions before making bitmap
persistent in qmp-block-dirty-bitmap-add (this functionality will be
added by future patch)
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
Test that hbitmap iter is resistant to bitmap resetting.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Denis V. Lunev
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
tests/test-hbitmap.c | 19
Add bdrv_dirty_bitmap_deserialize_ones() function, which is needed for
qcow2 bitmap loading, to handle unallocated bitmap parts, marked as
all-ones.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Kevin Wolf
Reviewed-by: John Snow
This is needed for the following patch, which will introduce refcounts
checking for qcow2 bitmaps.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
block/qcow2-refcount.c | 53
Add bitmap extension as specified in docs/specs/qcow2.txt.
For now, just mirror extension header into Qcow2 state and check
constraints. Also, calculate refcounts for qcow2 bitmaps, to not break
qemu-img check.
For now, disable image resize if it has bitmaps. It will be fixed later.
On Mon, May 29, 2017 at 11:53:01AM +0200, Markus Armbruster wrote:
> "Daniel P. Berrange" writes:
>
> > On Thu, May 25, 2017 at 02:52:30PM -0500, Eric Blake wrote:
> >> On 05/25/2017 11:38 AM, Daniel P. Berrange wrote:
> >> > Currently 'qemu-img info' reports a simple
29.05.2017 20:54, Max Reitz wrote:
On 2017-05-03 14:25, Vladimir Sementsov-Ogievskiy wrote:
We should release them here to reload on invalidate cache.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block.c | 4
block/dirty-bitmap.c
30.05.2017 09:50, Vladimir Sementsov-Ogievskiy wrote:
Thank you for this scenario. Hmm.
So, as I need guarantee that image and bitmap are unchanged,
bdrv_set_dirty should return error and fail the whole write. Ok?
No, bad idea. As bdrv_set_dirty is called after write completed.
29.05.2017
Make dirty iter resistant to resetting bits in corresponding HBitmap.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
include/qemu/hbitmap.h | 26 --
30.05.2017 10:31, Vladimir Sementsov-Ogievskiy wrote:
30.05.2017 09:50, Vladimir Sementsov-Ogievskiy wrote:
Thank you for this scenario. Hmm.
So, as I need guarantee that image and bitmap are unchanged,
bdrv_set_dirty should return error and fail the whole write. Ok?
No, bad idea. As
Realize .bdrv_can_store_new_dirty_bitmap interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: John Snow
Reviewed-by: Max Reitz
---
block/qcow2-bitmap.c | 51 +++
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
tests/qemu-iotests/165 | 105 +
tests/qemu-iotests/165.out | 5 +++
tests/qemu-iotests/group | 1 +
3 files changed, 111
It will be needed in following commits for persistent bitmaps.
If bitmap is loaded from read-only storage (and we can't mark it
"in use" in this storage) corresponding BdrvDirtyBitmap should be
read-only.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
Remove persistent bitmap from the storage on block-dirty-bitmap-remove.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
blockdev.c | 10 ++
qapi/block-core.json | 3
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
block/dirty-bitmap.c | 5 +
blockdev.c | 29 +
include/block/dirty-bitmap.h |
Release bitmaps after 'if (bs->drv) { ... }' block. This will allow
format driver to save persistent bitmaps, which will appear in following
commits.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
block.c | 6 +++---
1 file
A bitmap directory entry is sometimes called a 'bitmap header'. This
patch leaves only one name - 'bitmap directory entry'. The name 'bitmap
header' creates misunderstandings with 'qcow2 header' and 'qcow2 bitmap
header extension' (which is extension of qcow2 header)
Signed-off-by: Vladimir
On Fri, May 26, 2017 at 03:23:52PM -0400, Jeff Cody wrote:
> The following changes since commit 9964e96dccf7f7c936ee854a795415d19b60:
>
> Merge remote-tracking branch 'jasowang/tags/net-pull-request' into staging
> (2017-05-23 15:01:31 +0100)
>
> are available in the git repository at:
>
Hi all!
There is a new update of qcow2-bitmap series - v19.
web:
https://src.openvz.org/users/vsementsov/repos/qemu/browse?at=qcow2-bitmap-v19
git: https://src.openvz.org/scm/~vsementsov/qemu.git (tag qcow2-bitmap-v19)
v19:
rebased on master
05: move 'sign-off' over 'reviewed-by's
08:
Mirror AUTO flag from Qcow2 bitmap in BdrvDirtyBitmap. This will be
needed in future, to save this flag back to Qcow2 for persistent
bitmaps.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
Auto loading bitmaps are bitmaps in Qcow2, with the AUTO flag set. They
are loaded when the image is opened and become BdrvDirtyBitmaps for the
corresponding drive.
Extra data in bitmaps is not supported for now.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by:
Add optional 'persistent' flag to qmp command block-dirty-bitmap-add.
Default is false.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Denis V. Lunev
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
New field BdrvDirtyBitmap.persistent means, that bitmap should be saved
by format driver in .bdrv_close and .bdrv_inactivate. No format driver
supports it for now.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
Optional. Default is false.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Denis V. Lunev
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
blockdev.c | 18 --
Interface for removing persistent bitmap from its storage.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
block/dirty-bitmap.c | 18 ++
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
Reviewed-by: John Snow
---
block/dirty-bitmap.c | 7 +++
include/block/dirty-bitmap.h | 3 +++
2 files changed, 10 insertions(+)
diff --git
[ Cc: qemu-block - noticed only now that it's missing ]
Am 29.05.2017 um 22:57 hat Manos Pitsidianakis geschrieben:
> On Mon, May 29, 2017 at 05:05:17PM +0200, Alberto Garcia wrote:
> >On Sat 27 May 2017 09:56:03 AM CEST, Stefan Hajnoczi wrote:
> >>A quirk in the current implementation is that
Hi,
This series failed build test on s390x host. Please find the details below.
Message-id: 20170530103641.68891-1-vsement...@virtuozzo.com
Type: series
Subject: [Qemu-devel] [PATCH 0/4] qemu-img check: format allocation info
=== TEST SCRIPT BEGIN ===
#!/bin/bash
# Testing script will be
Realize .bdrv_get_format_alloc_stat interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-refcount.c | 144 +
block/qcow2.c | 2 +
block/qcow2.h | 2 +
3 files changed, 148
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qapi/block-core.json | 6 +-
qemu-img.c | 36
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index
Improve dump_human_format_alloc_info() by specifying format names.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qemu-img.c | 35 ++-
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index
The function should collect statistics, about allocted/unallocated by
top-level format driver space (in its .file) and allocation status
(allocated/hole/after eof) of corresponding areas in this .file.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block.c
Hi all.
v2: fix build error, gcc things that some variables may be used
uninitialized (actually they didn't).
These series is a replacement for "qemu-img check: unallocated size"
series.
There was a question, should we account allocated clusters in qcow2 but
actually holes in underalying
Improve dump_human_format_alloc_info() by specifying format names.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qemu-img.c | 35 ++-
1 file changed, 26 insertions(+), 9 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index
Realize .bdrv_get_format_alloc_stat interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-refcount.c | 144 +
block/qcow2.c | 2 +
block/qcow2.h | 2 +
3 files changed, 148
The function should collect statistics, about allocted/unallocated by
top-level format driver space (in its .file) and allocation status
(allocated/hole/after eof) of corresponding areas in this .file.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block.c
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
qapi/block-core.json | 6 +-
qemu-img.c | 36
2 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/qapi/block-core.json b/qapi/block-core.json
index
Hi all.
These series is a replacement for "qemu-img check: unallocated size"
series.
There was a question, should we account allocated clusters in qcow2 but
actually holes in underalying file as allocated or not. Instead of
hiding this information in one-number statistic I've decided to print
On Mon 29 May 2017 09:03:22 PM CEST, Kashyap Chamarthy wrote:
> Observe the following ('qmp-shell', for brevity) invocation of the
> four major types (stream, commit, mirror, backup) of live block
> operations:
>
> (QEMU) block-stream device=node-D base=a.qcow2 job-id=job-block-stream
>
On Tue, May 30, 2017 at 05:22:50PM +0200, Kevin Wolf wrote:
> blk->name isn't an array, but a pointer that can be NULL. Checking for
> an anonymous BB must involve a NULL check first, otherwise we get
> crashes.
>
> Signed-off-by: Kevin Wolf
> Reviewed-by: Fam Zheng
30.05.2017 17:53, Eric Blake wrote:
On 05/30/2017 05:48 AM, Vladimir Sementsov-Ogievskiy wrote:
The function should collect statistics, about allocted/unallocated by
top-level format driver space (in its .file) and allocation status
(allocated/hole/after eof) of corresponding areas in this
On Tue, May 30, 2017 at 05:22:52PM +0200, Kevin Wolf wrote:
> We need to release any block migrations BlockBackends on the source
> before successfully completing the migration because otherwise
> inactivating the images will fail (inactivation only tolerates device
> BBs).
>
> Signed-off-by:
Signed-off-by: Kevin Wolf
---
tests/qemu-iotests/183 | 143 +
tests/qemu-iotests/183.out | 46 +++
tests/qemu-iotests/group | 1 +
3 files changed, 190 insertions(+)
create mode 100755 tests/qemu-iotests/183
We need to release any block migrations BlockBackends on the source
before successfully completing the migration because otherwise
inactivating the images will fail (inactivation only tolerates device
BBs).
Signed-off-by: Kevin Wolf
Reviewed-by: Fam Zheng
v2:
- Detect when migrate -b is compiled out [Eric]
- Switched the whole test to QMP for this, HMP is a bit hard to
deal with
Kevin Wolf (4):
block: Fix anonymous BBs in blk_root_inactivate()
migration: Inactivate images after .save_live_complete_precopy()
migration/block: Clean up BBs in
On Tue, May 30, 2017 at 05:22:51PM +0200, Kevin Wolf wrote:
> Block migration may still access the image during its
> .save_live_complete_precopy() implementation, so we should only
> inactivate the image afterwards.
>
> Another reason for the change is that inactivating an image fails when
>
Am 30.05.2017 um 16:29 hat Alberto Garcia geschrieben:
> On Sat 27 May 2017 09:56:03 AM CEST, Stefan Hajnoczi wrote:
> > Throttling groups allow multiple drives to share the same throttling
> > state (i.e. budget) between them. Manos is working on moving the
> > throttling code into a block
This edition documents all four operations:
- `block-stream`
- `block-commit`
- `drive-mirror` (& `blockdev-mirror`)
- `drive-backup` (& `blockdev-backup`)
Things considered while writing this document:
- Use reStructuredText format. It is gentler on the eye, and can be
trivially
This edition documents all four operations:
- `block-stream`
- `block-commit`
- `drive-mirror` (& `blockdev-mirror`)
- `drive-backup` (& `blockdev-backup`)
Things considered while writing this document:
- Use reStructuredText format. It is gentler on the eye, and can be
trivially
On Mon, May 22, 2017 at 02:57:00PM +0100, Stefan Hajnoczi wrote:
> v3:
> * Add missing bdrv_drain_all_end() in error code paths [Kevin]
> v2:
> * New patch to use bdrv_drain_all_begin/end() in savevm/loadvm [Kevin]
>(All other patches unchanged)
>
> The 'savevm' command hangs when -object
Block migration may still access the image during its
.save_live_complete_precopy() implementation, so we should only
inactivate the image afterwards.
Another reason for the change is that inactivating an image fails when
there is still a non-device BlockBackend using it, which includes the
BBs
blk->name isn't an array, but a pointer that can be NULL. Checking for
an anonymous BB must involve a NULL check first, otherwise we get
crashes.
Signed-off-by: Kevin Wolf
Reviewed-by: Fam Zheng
Reviewed-by: Juan Quintela
Reviewed-by:
On Sat 27 May 2017 09:56:03 AM CEST, Stefan Hajnoczi wrote:
> Throttling groups allow multiple drives to share the same throttling
> state (i.e. budget) between them. Manos is working on moving the
> throttling code into a block filter driver so it is no longer
> hardcoded into the I/O code path.
On 05/30/2017 05:48 AM, Vladimir Sementsov-Ogievskiy wrote:
> The function should collect statistics, about allocted/unallocated by
> top-level format driver space (in its .file) and allocation status
> (allocated/hole/after eof) of corresponding areas in this .file.
>
> Signed-off-by: Vladimir
On 05/30/2017 10:22 AM, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf
> ---
> tests/qemu-iotests/183 | 143
> +
> tests/qemu-iotests/183.out | 46 +++
> tests/qemu-iotests/group | 1 +
> 3 files changed, 190
On 05/30/2017 10:27 AM, Vladimir Sementsov-Ogievskiy wrote:
> 30.05.2017 17:53, Eric Blake wrote:
>> On 05/30/2017 05:48 AM, Vladimir Sementsov-Ogievskiy wrote:
>>> The function should collect statistics, about allocted/unallocated by
>>> top-level format driver space (in its .file) and allocation
Am 30.05.2017 um 17:52 hat Jeff Cody geschrieben:
> On Tue, May 30, 2017 at 05:22:53PM +0200, Kevin Wolf wrote:
> > Signed-off-by: Kevin Wolf
> > ---
> > tests/qemu-iotests/183 | 143
> > +
> > tests/qemu-iotests/183.out | 46
On Tue, May 30, 2017 at 05:22:53PM +0200, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf
> ---
> tests/qemu-iotests/183 | 143
> +
> tests/qemu-iotests/183.out | 46 +++
> tests/qemu-iotests/group | 1 +
> 3 files
On Tue, May 30, 2017 at 06:57:05PM +0200, Kevin Wolf wrote:
> Am 30.05.2017 um 17:52 hat Jeff Cody geschrieben:
> > On Tue, May 30, 2017 at 05:22:53PM +0200, Kevin Wolf wrote:
> > > Signed-off-by: Kevin Wolf
> > > ---
> > > tests/qemu-iotests/183 | 143
> > >
On 05/26/2017 11:55 AM, Max Reitz wrote:
> This patch adds two new parameters to the preallocate() function so we
> will be able to use it not just for preallocating a new image but also
> for preallocated image growth.
>
> The offset parameter allows the caller to specify a virtual offset from
>
72 matches
Mail list logo