[Top][All Lists]

[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


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


with the blockdev-reopen bits removed and replaced by blockdev-snapshot.

You can have a look at the libvirt impl here:


I'll post it for review if it's clear that iothreads can be supported
using this approach.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]