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

Reply via email to