On Wed, 04/26 14:52, Kevin Wolf wrote:
> Am 26.04.2017 um 05:34 hat Fam Zheng geschrieben:
> > Signed-off-by: Fam Zheng <f...@redhat.com>
> 
> The commit message is a bit terse. :-)
> 
> So I think this means that instead of opening the backing file of the
> backup (which is probably the active file of the VM) a second time, we
> instead take a reference on the existing node. Very good idea.
> 
> In fact, my question is: How did this ever work? Did we just neglect to
> test this? The backup backing file will use stale qcow2 metadata when we
> continue to write to the source.

Reading from the target BDS would be a problem, but I guess it's relatively
uncommon:

- In QEMU code, COW is always done manually in backup_do_cow, so no reading from
  target->backing in block layer.

- Writing to target is done in target cluster granularity so no COW too.

But it's still a fully valid point, for example it can be exported to NBD, etc.

> 
> Unless I'm missing something, I'd propose this for qemu-stable.

Yes, sounds good.

> 
> Also, mirror with MIRROR_OPEN_BACKING_CHAIN probably has a similar
> problem with opening the images in the backing chain a second time.

Seems so. But if there was such a test case, image locking would have
complained.

Is that a practical use case?  Mirror target image uses the active image as
backign file? (It's a bit late in the evening, please remind me :-)

Fam

Reply via email to