[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC] Check backing_file chain's loop
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [RFC] Check backing_file chain's loop |
Date: |
Thu, 30 May 2013 06:12:00 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6 |
On 05/30/2013 04:14 AM, Dongxu Wang wrote:
> Hi,
>
> Now block layer does not check whether backing_file chain can be a
> circle, do you think it is necessary to do a check?
>
> For example, 1.qcow2's backing_file is 2.qcow2 and 2.qcow2's
> backing_file is 1.qcow2, then any IO operation will be a fault.
>
> If necessary, I will post a patch to fix.
Yes, it's worth patching.
>
> [$] qemu-img create -f qcow2 1.qcow2
> qemu-img: Image creation needs a size parameter
> [$] qemu-img create -f qcow2 1.qcow2 8M
> Formatting '1.qcow2', fmt=qcow2 size=8388608 encryption=off
> cluster_size=65536 lazy_refcounts=off
> [$] qemu-img create -f qcow2 2.qcow2 -o backing_file=1.qcow2
> Formatting '2.qcow2', fmt=qcow2 size=8388608 backing_file='1.qcow2'
> encryption=off cluster_size=65536 lazy_refcounts=off
> [$] qemu-img create -f qcow2 1.qcow2 -o backing_file=2.qcow2
> Formatting '1.qcow2', fmt=qcow2 size=8388608 backing_file='2.qcow2'
> encryption=off cluster_size=65536 lazy_refcounts=off
> [$] qemu-io -c "read -v 0 512" 1.qcow2
> ^CSegmentation fault (core dumped)
Also make sure that 'qemu-img info 1.qcow2' and 'qemu-img info
--backing-chain 1.qcow2' don't crash.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature