On Tue, 01/12 11:10, Kevin Wolf wrote:
The problem is that libvirt already takes a lock, as Dan mentioned in
another reply in this thread, so we can't enable locking in qemu by
default. It would always fail when run under libvirt.
Unless I'm seriously mistaken, this means that flock() inside qemu is
dead.
Yes, I see the problem with libvirt, but can we instead do these?
1) Do a soft flock() in QEMU invocation. If it fails, sliently ignore.
2) Do a hard flock() in qemu-img invocation. If it fails, report and exit.
This way, if libvirt is holding flock, we can assume libvirt is actually
"using" the image: 1) just works as before, but 2) will not break the qcow2.
That is still a slight improvement, and does solve the reckless "qemu-img
snapshot create" user's problem.
Fam