Question: How do I discard any changes for the device which is set by blockdev option?

Eric Blake eblake at redhat.com
Tue May 19 18:41:08 UTC 2020


On 5/19/20 12:56 PM, Masayoshi Mizuma wrote:
> Hello,
> 
> I would like to discard any changes while the qemu guest OS is done.
> I can do that with snapshot and drive option.
> However, snapshot option doesn't work for the device which set by
> blockdev option like as:
> 
> $QEMU --enable-kvm \
>        -m 1024 \
>        -nographic \
>        -serial mon:stdio \
>        -blockdev driver=file,node-name=mydisk,filename=/mnt/fedora.qcow2 \
>        -blockdev driver=qcow2,node-name=vda,file=mydisk \
>        -device virtio-blk-pci,drive=vda,bootindex=1 \
>        -snapshot
> 
> I would like to use blockdev option to set the device because
> libvirt uses blockdev option for disk element.
> 
> If there's no way to do so, does that make sense to get available
> snapshot option to blockdev as well? If that makes sense, I'll try to
> implement that.
> 
> As for qcow2, I think we can do such things to use qemu-img snapshot
> command, for example save the original image and restore the image
> after the qemu guest OS is shutdowned. However, it may be complecated
> for user. I would like the simple way like as snapshot/drive option...
> 
> If I'm missing something, let me know.
> 

Sounds like a repeat of this thread:
https://lists.gnu.org/archive/html/qemu-devel/2020-01/msg06144.html

where the consensus is yes, -blockdev and -snapshot are incompatible, 
libvirt has plans to use the <transient/> tag to behave the same as what 
-snapshot does (but no one has implemented it yet), and in the meantime, 
it is possible to force libvirt to avoid -blockdev if you still need to 
supply -snapshot behind libvirt's back.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org




More information about the libvir-list mailing list