On 08.09.2014 09:16, Markus Armbruster wrote:
"Richard W.M. Jones" <rjo...@redhat.com> writes:
On Fri, Sep 05, 2014 at 04:39:51PM +0100, Stefan Hajnoczi wrote:
Did you try older QEMU versions? I'm curious if this is something that
crept in later or is fundamentally broken in lazy_refcounts=on.
At your prompting, I've done a bit more investigation.
I was basing my observations on qemu 2.1.0. However I tried my test
against qemu from git today and the bug has gone. Good!
For my entertainment, I bisected the problem, and the commit which
*fixes* it is:
commit 91af7014125895cc74141be6b60f3a3e882ed743
Author: Max Reitz <mre...@redhat.com>
Date: Fri Jul 18 20:24:56 2014 +0200
block: Add bdrv_refresh_filename()
I didn't believe this either, but I have checked the result manually
and I'm pretty sure that whatever this commit does, it does end up
fixing the lazy_refcounts problem as a side-effect.
Weird. Maybe Max (cc'ed) has an idea.
No, not really. The only remotely related effect I can imagine is that
this patch allows a BDS to remember when it has been opened with runtime
options differing from the standard (e.g. forcing lazy_refcounts=on for
a qcow2 image without that flag set), but it seems this is not the case
here. Also, this should even be ignored in most cases.
Other than that, the main intention for this commit is to allow block
drivers to reconstruct a filename based solely on the BDS, i.e. a
filename which more or less recreates the same BDS when opened. The
filename in the BDS will therefore no longer be necessarily the one
originally used for opening it.
Max