On Mon, 2007-08-27 at 21:27 +0100, Daniel P. Berrange wrote: > On Mon, Aug 27, 2007 at 10:19:42PM +0200, Sven Oehme wrote: > > i thought it might be good to post this on qemu-devel as well, as i see > > this as a general qemu / kvm / xen /whatevercomesnext issue . > > > > are there any plans to implement a default in qemu to prevent accessing > > the same image multiple times ? > > Each QEMU instance is unware of each other so can't directly check this. One > possiblity would be for QEMU to use fcntl() to take a lock on a disk image > when opening it. With raw disk images at least, it is, however, safe to let > multiple QEMU instances use it at once *provided* you have a clustered > filesystem installed, rather than regular FAT or ext2/3, so one wouldn't want > to exclude this use case. > > > i know that in xen they deal with this problem somehow xen specific. > > wouldn't it be good to prevent multiple access to the same image by > > default and add a switch to overwrite it ? > > In the scenario you mention, libvirt should probably do a sanity check for > this before letting you start the guest. libvirt already supports the idea > of 'shared' disk images where two or more guests can be optionally configured > to have write access - basically assumes the admin requesting sharing knows > what they're doing.
I think this is the right level myself. Advisory locks work okay but not all filesystems support them. It's particularly nasty when you have a clustered filesystem in the host. I think it would do more harm than good to have a feature like that was supposed to provide a safe-guard but then frequently didn't work. Regards, Anthony Liguori > > i corrupted a couple of virtual Linux images last week as i accidentally > > started them two times .. > > i opened a bug against qemu (not sure if this was a good idea) --> > > https://bugzilla.redhat.com/show_bug.cgi?id=253533 > > > > are there any plans to ensure that this can't happen in future releases of > > virt-manager with lock files in the image directory or similar ? > > Dan.