qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] One more thing about block device locking
@ 2010-04-23  5:07 Michael Tokarev
  2010-04-23  8:00 ` Richard W.M. Jones
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Tokarev @ 2010-04-23  5:07 UTC (permalink / raw)
  To: qemu-devel

While I'm reviewing a thread about block device
locking, here's another data point which were
not touched before, as far as I remember.  It
is related.

What I'm talking is - when fsck/mkfs/... family
of programs are run against a mounted (or in use
by other means) device, they warn you about this,
or refuse to run.

This is done by opening the device in question
with O_EXCL flag - it is meaningless for an
existing block device so the meaning has been
overloaded on linux.

It is the _only_ way to ensure the device is
opened exclusively, and it covers such obscure
cases like opening whole disk when at least
one partition is in use by, say, an in-kernel
raid array or something like that.

So while it is the only way, it is also a
_reliable_ way too.

And while before, we were talked mostly about
inter-guest locking/protection, we also should
think about protecting guest and host from
each other.  O_EXCEL is exactly this case --
to ensure _host_ is not using the devie in
question when qemu is trying to open it.

Worth using IMHO :)  But it is a bit weird,
since it only works on linux (actually I've
no idea if it works on any other unix-like
system) and only on block devices, and only
at open(2) time.  So we'll have to either
trial and error, or open "normally", check
if it's a block device and re-open with that
flag set.  Both aren't exactly nice, but
should work.

I'll see what can be done there, but if
someone else who knows code better have
immediate ideas or implementation, welcome.

Thanks!

/mjt

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-04-23 12:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-04-23  5:07 [Qemu-devel] One more thing about block device locking Michael Tokarev
2010-04-23  8:00 ` Richard W.M. Jones
2010-04-23 10:45   ` Michael Tokarev
2010-04-23 12:57   ` Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).