qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [v3 03/12] block: Add overlay BDS pointer into the Bloc


From: Eric Blake
Subject: Re: [Qemu-devel] [v3 03/12] block: Add overlay BDS pointer into the BlockDriverState struct
Date: Fri, 30 May 2014 13:12:01 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

On 05/30/2014 10:36 AM, Jeff Cody wrote:

>> Question - can one bds ever belong to more than one chain?  That is,
>> could I create a guest that uses:
>>        / disk1
>> base <
>>        \ disk2
>>

> While an image itself may be a backing file to more than one overlay
> image, QEMU would open that as 2 separate chains, as we open the drive
> from the active layer downwards, following the backing_file.  So in
> the QEMU implementation of your above structure, a BDS will be in at
> most one chain at a time:
> 
> [0 base] <-- [1 disk1]
> 
> [2 base] <-- [3 disk2]

That's if I only specify disk1 and disk2 as the files to open (and let
qemu follow its own backing chain to create BDS for [0 base] and [2
base]).  But I was thinking more about blockdev-add, which has
provisions in the QMP for creating a block device chain via reference to
an existing bds node-name rather than inline (although I know that qemu
1.7 didn't support that, I still haven't figured out if it can be done
in qemu 2.0 with the addition of node-names).

I've added you in cc to a thread from January on that topic.

> 
> In the above case, each '[]' is a unique BDS structure.
> 
> (and of course, if you perform a block-commit to an image that is a
> base to multiple other images, then expect Bad Things).

On the other hand, doing block-stream to break a shared base into
multiple independent images actually makes sense.  And since this series
changes block-stream to work on just a node name, there is the question
of which of the two devices actually get the streaming action.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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