From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] PATCH: Control over drive open modes for backing file
Date: Thu, 31 Jul 2008 13:26:17 -0500 [thread overview]
Message-ID: <489203C9.1040607@codemonkey.ws> (raw)
In-Reply-To: <20080731113120.GJ23888@redhat.com>
Daniel P. Berrange wrote:
> The current block driver code will attempt to open a file backing a drive
> for read/write with O_RDWR first, and if that fails, fallback to opening
> it readonly with O_RDONLY. So if you set file permissions to readonly on
> the underlying drive backing store, QEMU will fallback to opening it read
> only, and discard any writes.
>
I'm not sure I agree that this patch is really that useful to an actual
user. I think we'll eventually need a read-only flag as paravirtual
devices do support read-only block devices. Let's consider a scenario:
A user has multiple block devices including a secondary device that is
read-only to the guest. With qcow2 and today's behavior, savevm will
just work. With your patch, it will not work.
This is a scenario where just because the block device cannot be written
to, we still would want to write to the metadata of the image.
So while I think it's valid to have a "read-only disk" exposed to the
guest, I don't think the user should have anything to do with how we
open the file.
Is there some specific circumstance you are trying to support?
Regards,
Anthony Liguori
> Xen has a concept of a read-only disks in its configuration format, and
> thus it would be desirable to have an explicit option to request that a
> drive operate read-only, regardless of whether underlying file permissions
> allow write access or not. We'd like to support this in libvirt too for
> QEMU/KVM guests. Finally, in some cases it is desirable to see the failure
> if the disk can't be opened read-write, rather than falling back to read
> only mode - many guests will be more or less inoperable if their root
> filesystem is read-only so there's little point booting.
>
> The current block.h file did already have flags defined
>
> #define BDRV_O_RDONLY 0x0000
> #define BDRV_O_RDWR 0x0002
> #define BDRV_O_ACCESS 0x0003
>
> However the bdrv_open2() method was treating a 'flags' value of 0, as being
> effectively RDWR, and nearly all callers pass in 0 even when they expect
> to get a writable file, so the O_RDONLY flag was useless as is.
>
> So this patch does a couple of things:
>
>
next prev parent reply other threads:[~2008-07-31 18:26 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-31 11:31 [Qemu-devel] PATCH: Control over drive open modes for backing file Daniel P. Berrange
2008-07-31 12:15 ` Jamie Lokier
2008-07-31 13:08 ` Daniel P. Berrange
2008-07-31 13:34 ` Daniel P. Berrange
2008-07-31 13:46 ` Paul Brook
2008-07-31 13:55 ` Daniel P. Berrange
2008-07-31 15:05 ` Blue Swirl
2008-07-31 16:01 ` Jamie Lokier
2008-07-31 16:10 ` Daniel P. Berrange
2008-07-31 18:07 ` Blue Swirl
2008-07-31 14:58 ` Chris Wedgwood
2008-07-31 18:26 ` Anthony Liguori [this message]
2008-07-31 18:59 ` Jamie Lokier
2008-07-31 19:37 ` Anthony Liguori
2008-08-01 7:46 ` Jamie Lokier
2008-08-01 15:14 ` Anthony Liguori
2008-08-01 9:18 ` Daniel P. Berrange
2008-08-01 14:48 ` Anthony Liguori
2008-08-01 16:47 ` Ian Jackson
2008-08-01 17:09 ` Anthony Liguori
2008-08-01 17:10 ` Jamie Lokier
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=489203C9.1040607@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=berrange@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.