These machines have no onboard SCSI HBA, and no way to plug one.
-drive if=scsi therefore cannot work. They do have an onboard IDE
controller (sysbus-ahci), but fail to honor if=ide.
Change their default to if=ide, and add a TODO comment on what needs
to be done to actually honor -drive if=ide.
Block backends defined with -drive if=T, T!=none are meant to be
picked up by machine initialization code: a suitable frontend gets
created and wired up automatically.
if=T drives not picked up that way can still be used with -device as
if they had if=none, but that's unclean and best avoided. Un
Block backends defined with -drive if=ide are meant to be picked up by
machine initialization code: a suitable frontend gets created and
wired up automatically.
if=ide drives not picked up that way can still be used with -device as
if they had if=none, but that's unclean and best avoided. Unused
Machine types cubieboard, xlnx-ep108, xlnx-zcu102 have an onboard AHCI
controller, but neglect to set their MachineClass member
units_per_default_bus = 1. This permits -drive if=ide,unit=1, which
makes no sense for AHCI. It also screws up index=N for odd N, because
it gets desugared to unit=1,bus
Block backends defined with -drive if=scsi are meant to be picked up
by machine initialization code: a suitable frontend gets created and
wired up automatically.
if=scsi drives not picked up that way can still be used with -device
as if they had if=none, but that's unclean and best avoided. Unuse
The PC machines (pc-q35-* pc-i440fx-* pc-* isapc xenfv) automatically
create lsi53c895a SCSI HBAs and SCSI devices to honor -drive if=scsi.
For giggles, try -drive if=scsi,bus=25,media=cdrom --- this makes QEMU
create 25 of them.
The lsi53c895a is thoroughly obsolete (PCI Ultra2 SCSI, ca. 2000), a
Block backends defined with -drive if=ide are meant to be picked up by
machine initialization code: a suitable frontend gets created and
wired up automatically.
if=ide drives not picked up that way can still be used with -device as
if they had if=none, but that's unclean and best avoided. Unused
On Mon, 01/16 13:26, Fam Zheng wrote:
> On Mon, 01/16 10:38, liujing wrote:
> > Dears,
> >
> > We would like to know if this patch will be pulled
> >
> > into upstream or what else we need to do for it?
> >
> > Because for upstream, the qemu-iotests case 055 still failed.
>
> Kevin, would you l
Ping
Hi all! What about this?
22.11.2016 20:54, Vladimir Sementsov-Ogievskiy wrote:
Hi all!
There is a new version of dirty bitmap postcopy migration series.
v4:
clone: tag postcopy-v4 from https://src.openvz.org/scm/~vsementsov/qemu.git
online: https://src.openvz.org/users/vsementsov/repos/
Hi all!
There is a new update of qcow2-bitmap series - v11.
web:
https://src.openvz.org/users/vsementsov/repos/qemu/browse?at=qcow2-bitmap-v11
git: https://src.openvz.org/scm/~vsementsov/qemu.git (tag qcow2-bitmap-v11)
v11:
Fix automatic build test fail.
18: wording - "ASCII representation of
Add bitmap extension as specified in docs/specs/qcow2.txt.
For now, just mirror extension header into Qcow2 state and check
constraints.
For now, disable image resize if it has bitmaps. It will be fixed later.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2.c | 119 +
New field BdrvDirtyBitmap.persistent means, that bitmap should be saved
on bdrv_close, using format driver. Format driver should maintain bitmap
storing.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
block.c | 32
bl
Calculate refcounts for qcow2 bitmaps. It is needed for qcow2's qemu-img
check implementation.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-bitmap.c | 80 ++
block/qcow2-refcount.c | 6
block/qcow2.h | 3 ++
3 files
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 +++
1 file changed, 19 insertions(+)
diff --git a/tests/test-hbitmap
Auto loading bitmaps are bitmaps stored in the disk image, which should
be loaded when the image is opened and become BdrvDirtyBitmaps for the
corresponding drive.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: John Snow
---
block.c | 14 ++
include/block
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
block/dirty-bitmap.c | 7 +++
include/block/dirty-bitmap.h | 3 +++
2 files changed, 10 insertions(+)
diff --git a/block/dirty-bitmap.c b/block/dirty-bitmap.c
index 4d026df1bd..fe34d488aa 100644
--- a/block/dirty
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 Sement
Do not reload bitmap list every time it is needed.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-bitmap.c | 125 ++-
block/qcow2.c| 2 +
block/qcow2.h| 4 ++
3 files changed, 89 insertions(+), 42 deletions(-)
diff
Remove persistent bitmap from its storage on bdrv_release_dirty_bitmap.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/dirty-bitmap.c | 21 ++---
include/block/block_int.h | 3 +++
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/block/dirty-bitmap.c b
23.12.2016 17:28, Vladimir Sementsov-Ogievskiy wrote:
Use HBitmap copy_bitmap instead of done_bitmap. This is needed to unify
backup loop for full/incremental modes in future patches.
We reset bit of the copy_bitmap immediately after checking it in
backup_do_cow(). It is safe, because all other
Signed-off-by: Vladimir Sementsov-Ogievskiy
Reviewed-by: Max Reitz
---
tests/qemu-iotests/165 | 89 ++
tests/qemu-iotests/165.out | 5 +++
tests/qemu-iotests/group | 1 +
3 files changed, 95 insertions(+)
create mode 100755 tests/qemu-iotests/
qemu-io is a low level tool to read or modify guest visible data, which
implies the user knows very well what is being done. Allowing reading
from a locked image is harmless in most cases, so do it.
Signed-off-by: Fam Zheng
---
qemu-io.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/qemu
Checking the status of an image when it is being used by guest is
usually useful, and there is no risk of corrupting data, so don't let
the upcoming image locking feature limit this use case.
Signed-off-by: Fam Zheng
---
qemu-img.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/055 | 32 ++--
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index 1d3fd04..20a7596 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -45
Signed-off-by: Fam Zheng
---
tests/drive_del-test.c| 2 +-
tests/nvme-test.c | 2 +-
tests/usb-hcd-uhci-test.c | 2 +-
tests/usb-hcd-xhci-test.c | 2 +-
tests/virtio-blk-test.c | 2 +-
tests/virtio-scsi-test.c | 4 ++--
6 files changed, 7 insertions(+), 7 deletions(-)
diff --git a
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/091 | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tests/qemu-iotests/091 b/tests/qemu-iotests/091
index 32bbd56..10ac4a8 100755
--- a/tests/qemu-iotests/091
+++ b/tests/qemu-iotests/091
@@ -95,7 +95,9 @@ echo "vm2: qemu process running succe
Optional. Default is false.
Signed-off-by: Vladimir Sementsov-Ogievskiy
Signed-off-by: Denis V. Lunev
Reviewed-by: Max Reitz
---
blockdev.c| 18 --
docs/qmp-commands.txt | 4
qapi/block-core.json | 6 +-
3 files changed, 25 insertions(+), 3 deletions(-)
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 --
util/hbitmap.c | 23 ++-
2 files changed, 26 i
Realize .bdrv_remove_persistent_dirty_bitmap interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-bitmap.c | 40
block/qcow2.c| 1 +
block/qcow2.h| 3 +++
3 files changed, 44 insertions(+)
diff --git a/block/qcow2-bitm
Realize .bdrv_can_store_new_dirty_bitmap interface.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-bitmap.c | 40
block/qcow2.c| 1 +
block/qcow2.h| 4
3 files changed, 45 insertions(+)
diff --git a/block/qcow2-bitmap.
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
---
block/dirty-bitmap.c | 16
block/qcow2-bitmap.c |
The test scenario doesn't require the same image, instead it focuses on
the duplicated node-name, so use null-co to avoid locking conflict.
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/087 | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/087 b/tests
Realize block bitmap storing interface, to allow qcow2 images store
persistent bitmaps.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/qcow2-bitmap.c | 509 +--
block/qcow2.c| 1 +
block/qcow2.h| 1 +
3 files changed, 496
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
---
block/dirty-bitmap.c | 7 +++
include
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/dirty-bitmap.c | 5 +
blockdev.c | 29 +
include/block/dirty-bitmap.h | 2 ++
include/qemu/hbitmap.h | 8
qapi/block-core.json | 27 +++
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
---
blockdev.c| 18 +-
docs/qmp-commands.txt | 3 +++
qapi/block-core.json | 7
In the case where we test the expected error when a blockdev-snapshot
target already has a backing image, backing chain is opened multiple
times. This will be a problem when we use image locking, so use a
different backing file that is not already open.
Signed-off-by: Fam Zheng
---
tests/qemu-io
Make getter signature const-correct. This allows other functions with
const dirty bitmap parameter use bdrv_dirty_bitmap_granularity().
Reviewed-by: Eric Blake
Reviewed-by: John Snow
Reviewed-by: Kevin Wolf
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/dirty-bitmap.c | 2 +-
i
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
---
block.c | 22 ++
include/b
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
---
block/Makefile.objs | 2 +-
blo
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
--- a/docs/specs/qcow2.txt
+++ b/docs/specs/qcow2.txt
v12: Fix test cases on old systems that doesn't have F_OFD_SETLK, such as RHEL
6. [Patchew]
Trim the commit message of patch 15 to avoid bitrotting.
v11: Move lock bytes from 1-2 to 0x10-0x12. [Daniel]
v10: While we still don't have comprehensive propagation mechanism that will be
provi
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
---
block/qcow2-refcount.c | 53 ++
block/qcow2.h | 4
2 files cha
They are wrappers of POSIX fcntl "file private locking", with a
convenient "try lock" wrapper implemented with F_OFD_GETLK.
Signed-off-by: Fam Zheng
---
include/qemu/osdep.h | 3 +++
util/osdep.c | 48
2 files changed, 51 insertions(+)
d
Signed-off-by: Fam Zheng
---
include/block/block.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/block/block.h b/include/block/block.h
index 8b0dcda..243839d 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -97,6 +97,8 @@ typedef struct HDGeometry {
Signed-off-by: Fam Zheng
---
tests/Makefile.include | 2 +
tests/test-image-lock.c | 206 +++
tests/test-replication.c | 6 +-
3 files changed, 211 insertions(+), 3 deletions(-)
create mode 100644 tests/test-image-lock.c
diff --git a/tests/Make
The COLO block replication architecture requires one disk to be shared
between primary and secondary, in the test both processes use posix file
protocol (instead of over NBD) so it is affected by image locking.
Disable the lock.
Signed-off-by: Fam Zheng
---
tests/test-replication.c | 9 +++--
To avoid image lock failures.
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/172 | 53 --
tests/qemu-iotests/172.out | 50 ++-
2 files changed, 54 insertions(+), 49 deletions(-)
diff --git a/tests/qemu-iote
Writing to the same qcow2 file from two QEMU processes at the same time
will never work correctly, so disable it even when the caller specifies
BDRV_O_RDWR.
Other formats are less vulnerable because they don't have internal
snapshots thus qemu-img is less often misused to create live snapshot.
Si
In this case we may open the source's backing image chain multiple
times. Setting share flag means the new open won't try to acquire or
check any lock, once we implement image locking.
Signed-off-by: Fam Zheng
---
blockdev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/blockdev.c b/blo
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/030 | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
index 54db54a..fe0c73f 100755
--- a/tests/qemu-iotests/030
+++ b/tests/qemu-iotests/030
@@ -114,7 +114,7 @@ class TestSingleD
This implements open flag sensible image locking for local file
and host device protocol.
virtlockd in libvirt locks the first byte, so we start looking at the
file bytes from 1.
Quoting what was proposed by Kevin Wolf , there are
four locking modes by combining two bits (BDRV_O_RDWR and
BDRV_O_S
Cc'ing qemu-block.
Dou Liyang writes:
> Change log v3 -> v4:
> 1. Develop these into the non-RFC patches.
> 2. Fix some comments.
> 3. do declarations first.
>
> Change log v2 -> v3:
> 1. Remove the unnecessary code for the bdrv_next_node().
> 2. Remove the change of the locking rules.
>
On Sat 21 Jan 2017 04:27:42 PM CET, Max Reitz wrote:
>>> I have optimized these checks. See:
>>>
>>> http://lists.nongnu.org/archive/html/qemu-block/2015-08/msg00020.html
>>>
>>> Feel free to review. If you want, I can rebase the series.
>>>
>>> So far nobody has seriously done so because it wasn't
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> commit fe904ea8242cbae2d7e69c052c754b8f5f1ba1d6 fixed a case
> which migration aborted QEMU because it didn't regain the control
> of images while some errors happened.
>
> Actually, there are another two cases can trigger the same error re
On 2017/1/23 21:40, Dr. David Alan Gilbert wrote:
* zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
commit fe904ea8242cbae2d7e69c052c754b8f5f1ba1d6 fixed a case
which migration aborted QEMU because it didn't regain the control
of images while some errors happened.
Actually, there are anot
On Mon, Jan 23, 2017 at 10:48 AM, Markus Armbruster wrote:
> Block backends defined with -drive if=ide are meant to be picked up by
> machine initialization code: a suitable frontend gets created and
> wired up automatically.
>
> if=ide drives not picked up that way can still be used with -device
On 01/22/2017 05:43 AM, Wouter Verhelst wrote:
>
> Having given this some more thought, I'm not entirely sure anymore that
> an active resize from the NBD layer is necessarily a layering violation.
> There might be other cases where this is useful, and e.g., the Linux
> kernel also supports active
Am 21.01.2017 um 20:58 schrieb Max Reitz:
On 19.01.2017 17:35, Peter Lieven wrote:
the current implementation always splits requests if a buffer
begins or ends with zeroes independent of the length of the
zero area. Change this to really only split off zero areas
that have at least a length of '
> On 23 Jan 2017, at 14:54, Eric Blake wrote:
>
> Thoughts?
My main thought is that the purpose of the extension branches is
to discuss and come to a consensus over experimental extension protocols.
Whilst I think creating a branch should be a lightweight affair
(fine), we explicitly say people
On 23.01.2017 14:30, Alberto Garcia wrote:
> On Sat 21 Jan 2017 04:27:42 PM CET, Max Reitz wrote:
I have optimized these checks. See:
http://lists.nongnu.org/archive/html/qemu-block/2015-08/msg00020.html
Feel free to review. If you want, I can rebase the series.
S
* Hailiang Zhang (zhang.zhanghaili...@huawei.com) wrote:
> On 2017/1/23 21:40, Dr. David Alan Gilbert wrote:
> > * zhanghailiang (zhang.zhanghaili...@huawei.com) wrote:
> > > commit fe904ea8242cbae2d7e69c052c754b8f5f1ba1d6 fixed a case
> > > which migration aborted QEMU because it didn't regain the
On 23/01/2017 10:48, Markus Armbruster wrote:
> The PC machines (pc-q35-* pc-i440fx-* pc-* isapc xenfv) automatically
> create lsi53c895a SCSI HBAs and SCSI devices to honor -drive if=scsi.
> For giggles, try -drive if=scsi,bus=25,media=cdrom --- this makes QEMU
> create 25 of them.
>
> The lsi5
I'm really sorry, but I personally don't have the time to review this
until February 6th.
Juan, David, does this look all-ok from your end? Are we just waiting
for block reviews at this point?
On 01/23/2017 06:48 AM, Vladimir Sementsov-Ogievskiy wrote:
> Ping
>
> Hi all! What about this?
>
> 22
On 15.11.2016 23:57, Max Reitz wrote:
> This series is a follow-up for "hbitmap: Fix shifts of constants by
> granularity".
>
> So far, adding the assertion in hbitmap_serialization_granularity() (as
> done by said previous patch) is enough and we know that it will always
> hold true since bitmaps
Paolo Bonzini writes:
> On 23/01/2017 10:48, Markus Armbruster wrote:
>> The PC machines (pc-q35-* pc-i440fx-* pc-* isapc xenfv) automatically
>> create lsi53c895a SCSI HBAs and SCSI devices to honor -drive if=scsi.
>> For giggles, try -drive if=scsi,bus=25,media=cdrom --- this makes QEMU
>> crea
On Tue, 11/15 23:57, Max Reitz wrote:
> This series is a follow-up for "hbitmap: Fix shifts of constants by
> granularity".
>
> So far, adding the assertion in hbitmap_serialization_granularity() (as
> done by said previous patch) is enough and we know that it will always
> hold true since bitmaps
On Fri, 12/23 17:28, Vladimir Sementsov-Ogievskiy wrote:
> We should not copy non-dirty clusters in write notifiers. So,
> initialize copy_bitmap from sync_bitmap.
>
> Signed-off-by: Vladimir Sementsov-Ogievskiy
> ---
> block/backup.c | 32 +++-
> 1 file changed, 31 i
On Fri, 12/23 17:28, Vladimir Sementsov-Ogievskiy wrote:
> Set fake progress for non-dirty clusters in copy_bitmap initialization,
> to:
> 1. set progress in the same place where corresponding clusters are
> consumed from copy_bitmap (or not initialized, as here)
> 2. earlier progress information f
69 matches
Mail list logo