[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 0/4] block: Relax restrictions for blockdev-snapshot
From: |
Peter Krempa |
Subject: |
Re: [PATCH 0/4] block: Relax restrictions for blockdev-snapshot |
Date: |
Thu, 5 Mar 2020 15:24:47 +0100 |
User-agent: |
Mutt/1.13.3 (2020-01-12) |
On Thu, Mar 05, 2020 at 13:50:56 +0100, Kevin Wolf wrote:
> This series allows libvirt to fix a regression that its switch from
> drive-mirror to blockdev-mirror caused: It currently requires that the
> backing chain of the target image is already available when the mirror
> operation is started.
>
> In reality, the backing chain may only be copied while the operation is
> in progress, so the backing file of the target image needs to stay
> disabled until the operation completes and should be attached only at
> that point. Without this series, we don't have a supported API to attach
> the backing file at that later point.
>
> Kevin Wolf (4):
> block: Make bdrv_get_cumulative_perm() public
> block: Relax restrictions for blockdev-snapshot
> iotests: Fix run_job() with use_log=False
> iotests: Test mirror with temporarily disabled target backing file
I've modified the libvirt code I have to try this. It works as expected
without iothreads, but I get the following error when iothread is used:
error: internal error: unable to execute QEMU command 'transaction': Cannot
change iothread of active block backend
I've tested it also with your Aio context patches for blockdev-reopen
applied and also added a feature flag for blockdev-snapshot
https://gitlab.com/pipo.sk/qemu/-/commits/kevin-snapshot-blockcopy
I can post the feature patch if you want after I clean it up or perhaps
suggest a better name or wording for it.
The libvirt code is a subset of
https://www.redhat.com/archives/libvir-list/2020-February/msg01125.html
with the blockdev-reopen bits removed and replaced by blockdev-snapshot.
You can have a look at the libvirt impl here:
https://gitlab.com/pipo.sk/libvirt/-/commits/block-copy-reopen-snapshot
I'll post it for review if it's clear that iothreads can be supported
using this approach.
- [PATCH 0/4] block: Relax restrictions for blockdev-snapshot, Kevin Wolf, 2020/03/05
- [PATCH 3/4] iotests: Fix run_job() with use_log=False, Kevin Wolf, 2020/03/05
- [PATCH 1/4] block: Make bdrv_get_cumulative_perm() public, Kevin Wolf, 2020/03/05
- [PATCH 2/4] block: Relax restrictions for blockdev-snapshot, Kevin Wolf, 2020/03/05
- [PATCH 4/4] iotests: Test mirror with temporarily disabled target backing file, Kevin Wolf, 2020/03/05
- Re: [PATCH 0/4] block: Relax restrictions for blockdev-snapshot, no-reply, 2020/03/05
- Re: [PATCH 0/4] block: Relax restrictions for blockdev-snapshot, no-reply, 2020/03/05
- Re: [PATCH 0/4] block: Relax restrictions for blockdev-snapshot,
Peter Krempa <=