From: Paolo Bonzini <pbonzini@redhat.com>
To: NeilBrown <neilb@suse.de>
Cc: Kevin Wolf <kwolf@redhat.com>,
Jack Wang <jinpu.wang@profitbricks.com>,
Dongsu Park <dongsu.park@profitbricks.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [RFC] O_EXCL or not open block device
Date: Fri, 13 Sep 2013 09:16:16 +0200 [thread overview]
Message-ID: <5232BBC0.9080502@redhat.com> (raw)
In-Reply-To: <20130913084804.6648725c@notabene.brown>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Il 13/09/2013 00:48, NeilBrown ha scritto:
>> I'm not sure why O_EXCL would be correct on generic block
>> devices when it's wrong on CD-ROMs. I think it's in fact more
>> likely that other devices are shared, as backing files.
>
> O_EXCL make sense if you or someone else might change the contents.
> If the device is read-only, or is uniformly treated as read-only,
> then O_EXCL is unnecessary and could definitely get in the way. I
> would be nice if we had O_SHARED and O_EXCL, but unfortunately we
> don't.... I wonder if O_EXCL|O_RDONLY could be treated as a shared
> lock.... Maybe one day.
Even that won't really work well for CD-ROM passthrough, because
ejecting a CD certainly affects the other openers but is available
with O_RDONLY.
A policy on sharing block devices that are used "just for the data"
does not belong in QEMU, it belongs in management. As such, I don't
think that QEMU should blindly use O_EXCL on all block devices.
My patch series used O_EXCL for CD-ROMs only to disable kernel event
polling; in other words, basically as a workaround. There are other
reasons why not sharing a host CD unit makes sense; for example, ATAPI
event polling is edge-triggered and simply doesn't work with multiple
VMs attached. But if the sharing policy could be left exclusively to
management above QEMU, it would be better to do so.
I think if someone wants to attach a real CD-ROM disc to a VM just for
the data (e.g. ejecting the disc will not open the real tray) they
should use something like "file:/dev/sr0". Then QEMU would not use
O_EXCL even with my patch series.
Paolo
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSMrvAAAoJEBvWZb6bTYbyZZMQAJIxy9jeo7/mKKrchvMs8uRY
3xN4IYtEJX15tAymsBCybW4t1Vr6P+N6I6zlFhdNCpY+o8Sckm5RV1a+1dJp5cz4
6JhAnEeddoZeEzBZorcpRCLkRZwiX2lECNsD2+cakXhprn5I+Mphd9xLBHb7FMZA
eRKn3Fe4+wAFXXqanzy8SxjK7S6IN+0su6mfKqQF94HxLVM9f2EBlfFm20rUJ4jS
PEhSJ2kPVMvanfDGUYzIfwP/eMBKJ8+95jBpcw1YBjn1U1V1c5wLguSyHGUacs8G
sOc0X20vuK0bF9oMFYvkMaQHEnwKvNWg640pkqzWe4F2Oe73pim7kVAJzQGD4+s5
SnglMBsH+0wjA85KPwJOD3+Tv58mTbTLiQDQVC/hX9p1JCZPeptXYEiYhcNwWHWF
RGM87PB9QuopE2TQJnRCPUDz9oZDX25cscZwKbsWriHAwTub4+PGm2LTARwC5ByM
0v+QCEzE7FmqEuE4K680iwKKVVWP/x1Mqn8/XW27+liOpL2FgBsPZDn27YcKQGlc
UOHLs1X0g/4CSHNq4LacthgPNihNnLQ9TwZiO+P9HimpnfjWW3KfkxjvqaaWANot
Tg13mS1GpxagXY675keddSLQ7GdBHkDh64R4hUzSmjrg/j9UQKChXz9ycArZ4b+t
zEZy1H/cLiwwzEUm8hj8
=6pli
-----END PGP SIGNATURE-----
prev parent reply other threads:[~2013-09-13 7:16 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-09-12 11:27 [Qemu-devel] [RFC] O_EXCL or not open block device Jack Wang
2013-09-12 13:58 ` Stefan Hajnoczi
2013-09-12 14:27 ` Kevin Wolf
2013-09-12 15:57 ` Jack Wang
2013-09-12 22:48 ` NeilBrown
2013-09-13 7:16 ` Paolo Bonzini [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5232BBC0.9080502@redhat.com \
--to=pbonzini@redhat.com \
--cc=dongsu.park@profitbricks.com \
--cc=jinpu.wang@profitbricks.com \
--cc=kwolf@redhat.com \
--cc=neilb@suse.de \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.