opening files in exclusive mode?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



KVM (or qemu for that matter) does not care about
concurrent access to disk images it opens.  So it's
possible to mount the same guest block device on
more than one guest, resulting in a badly broken
filesystem.

I wonder if the  right way is to open all the
devices in exclusive mode (O_EXCL).  At least
for real block devices.  On linux this ensures
there's no other holders of that device, open()
errors out with -EBUSY if it's not the case.

With an option to stop adding such a flag, in
order to be able to use some cluster-aware
filesystem or read-only device.

Dunno how it applies to files (qcow etc), but
it *seems* here the situation is even worse,
because not only the filesystem (meta)data
might be damaged, but qcow structure too,
and there's no fsck.qcow program available
to repair it.

So I think kvm should ensure exclusive access
to the files it opens (except of cd-rom images
and the like), using either O_EXCL for block
devices or locking for qcow/raw files, and
have an option to stop that (e.g. exclusive=0).

Comments?

Thanks!

/mjt
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux