[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 11/34] block: Allow references for backing files

From: Wen Congyang
Subject: Re: [Qemu-devel] [PATCH 11/34] block: Allow references for backing files
Date: Thu, 28 May 2015 17:58:03 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 05/28/2015 05:48 PM, Kevin Wolf wrote:
> Am 28.05.2015 um 02:59 hat Wen Congyang geschrieben:
>> On 05/27/2015 08:31 PM, Kevin Wolf wrote:
>>> Am 21.05.2015 um 07:47 hat Wen Congyang geschrieben:
>>>> On 05/09/2015 01:21 AM, Kevin Wolf wrote:
>>>>> For bs->file, using references to existing BDSes has been possible for a
>>>>> while already. This patch enables the same for bs->backing_hd.
>>>> 1. We reference to an existing BDSes, and some disk uses this blk. Do
>>>> we allow this?
>>> Currently yes. If it breaks, you get to keep both pieces.
>>> As long as your guest device is read-only, it should just work. It would
>>> be a very bad idea, though, to write to a backing file.
>>> Op blockers should eventually prevent this from happening (Jeff, you may
>>> want to take a note ;-))
>>>> 2. bs->backing_hd->blk can be not NULL now? If we do an active commit
>>>> to this backing file(use mirror job), we will call bdrv_swap() in
>>>> mirror_exit(), and the function bdrv_swap() doesn't allow that
>>>> new_bs->blk(here is bs->backing_hd) is not NULL.
>>> You're right.
>>> I can remove this patch from the series for now, but of course that
>>> doesn't solve the problem. I'm not sure what to do about it. Making
>>> bdrv_swap() work with BDSes that have BB attached is probably another
>>> item in the list of "dynamic reconfiguration" problems.
>> What does "dynamic reconfiguration" mean? Allow to change drive's option
>> when guest is running?
> Sorry, I should have been more specific for those of you who haven't
> been part of previous discussions.
> In this context, I'm talking about dynamic reconfiguration of the
> BlockDriverState graph, i.e. any operation that changes the relationship
> between different BDSes (essentially add/remove/change pointers to other
> BDSes).
> An example for that is changing the backing file of an opened image
> after having merged external snapshots with block-commit, or inserting a
> new active layer for taking a live snapshot.

Thanks for your explanation. I understand it now.

Wen Congyang

> Kevin
> .

reply via email to

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