qemu-block
[Top][All Lists]
Advanced

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

Re: [PATCH 1/3] qemu: implementation of transient option for qcow2 file


From: Peter Krempa
Subject: Re: [PATCH 1/3] qemu: implementation of transient option for qcow2 file
Date: Sat, 18 Jul 2020 08:06:00 +0200
User-agent: Mutt/1.14.5 (2020-06-23)

On Thu, Jul 16, 2020 at 20:55:29 -0400, Masayoshi Mizuma wrote:
> Thank you for your review.
> 
> On Tue, Jul 07, 2020 at 06:36:23AM -0500, Eric Blake wrote:
> > On 7/7/20 2:12 AM, Peter Krempa wrote:
> > 
> > > You can install a qcow2 overlay on top of a raw file too. IMO the
> > > implications of using <transient/> allow that.
> > > 
> > > As said above I'd strongly prefer if the overlay is created in qemu
> > > using the blockdev-create blockjob (there is already infrastructure in
> > > libvirt to achieve that).
> > 
> > Agreed.  At this point, any time we call out to qemu-img as a separate
> > process, we are probably doing it wrong.
> 
> Got it. I'm thinking about the procedure such as followings.
> Does that make sense?
> 
>   1) Open the monitor with qemuProcessQMPNew()/qemuProcessQMPStart(), 
>      and connect it.

Starting a new qemu process just to format an image is extreme overkill
and definitely not what we want to do.

>   2) Setup the transient disk with qemuDomainPrepareStorageSourceBlockdev(),
>      qemuBlockStorageSourceAttachApplyStorage(), 
> qemuBlockStorageSourceCreateGetFormatProps()
>      and something...
> 
>   3) Run blockdev-create command with qemuMonitorBlockdevCreate(), then
>      close the monitor.

These two steps should be exectued in the qemu process which already
will run the VM prior to starting the guest CPUs.

>   4) Switch the original disk to the transient disk.
> 
>   5) Build the blockdev argument for qemu.

And instead of this step, you use the external snapshot infrastructure
to install the overlays via 'blockdev-snapshot' QMP command

> 
>   6) Run qemu

And instead of this the VM cpus will be started.


The above steps require factoring out snapshot code a bit. I have a few
patches in that direction so I'll try posting them next week hopefully.





reply via email to

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