From: Jeff Cody <jcody@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: kwolf@redhat.com, supriyak@linux.vnet.ibm.com, eblake@redhat.com,
qemu-devel@nongnu.org, stefanha@gmail.com
Subject: Re: [Qemu-devel] [PATCH v2 06/16] block: do not parse BDRV_O_CACHE_WB in raw block drivers
Date: Thu, 13 Sep 2012 15:04:18 -0400 [thread overview]
Message-ID: <50522E32.4030406@redhat.com> (raw)
In-Reply-To: <50522C73.5030100@redhat.com>
On 09/13/2012 02:56 PM, Paolo Bonzini wrote:
> Il 13/09/2012 19:17, Jeff Cody ha scritto:
>>>>
>>>> Why does this matter? If raw-posix was opened directly (i.e. without
>>>> the bs->file indirection) this would cause a writethrough file to be
>>>> incorrectly opened as writeback.
>>>>
>>>> Paolo
>>>>
>> The problem this patch was trying to work around is that
>> bdrv_open_common() forces BDRV_O_CACHE_WB (commit e1e9b0ac), but that
>> setting is not preserved in bs->open_flags, so it is lost on a reopen.
>
> Perhaps we _should_ preserve that in bs->open_flags, while still using
> the initial value of BDRV_O_CACHE_WB to initialize bs->enable_write_cache.
That would work. Part of the problem is that BDRV_O_CACHE_WB seems
overloaded; maybe bdrv_parse_cache_flags() should set a new flag, called
BDRV_O_CACHE_WCE, which can be used in lieu of enable_write_cache
(similar to getting rid of keep_read_only in favor of
BDRV_O_ALLOW_RDWR). And then bdrv_parse_cache_flags() would just not
set BDRV_O_CACHE_WB, which can then be used exclusively by the lower
layers for their parsing (and bdrv_open_common would just set
bs->open_flags to always have BDRV_O_CACHE_WB).
Then patch 2/16 would change to having bdrv_set_enable_write_cache()
toggle BDRV_O_CACHE_WCE.
>
>> Is there a scenario currently that has raw-posix opened directly as a
>> writethrough file, or were you more concerned with future use?
>
> Not for raw-posix, but IIRC some other protocol is opened directly
> without a format on top. rbd perhaps? I'm concerned of having to work
> around what seems like a bug elsewhere, in multiple protocols.
>
> Paolo
>
next prev parent reply other threads:[~2012-09-13 19:04 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-13 15:49 [Qemu-devel] [PATCH v2 00/16] block: bdrv_reopen() patches Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 01/16] block: correctly set the keep_read_only flag Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 02/16] block: make bdrv_set_enable_write_cache() modify open_flags Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 03/16] block: Framework for reopening files safely Jeff Cody
2012-09-13 16:20 ` Paolo Bonzini
2012-09-13 20:35 ` Paolo Bonzini
2012-09-13 20:51 ` Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 04/16] block: move aio initialization into a helper function Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 05/16] block: move open flag parsing in raw block drivers to helper functions Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 06/16] block: do not parse BDRV_O_CACHE_WB in raw block drivers Jeff Cody
2012-09-13 16:12 ` Paolo Bonzini
2012-09-13 17:17 ` Jeff Cody
2012-09-13 18:56 ` Paolo Bonzini
2012-09-13 19:04 ` Jeff Cody [this message]
2012-09-13 19:44 ` Paolo Bonzini
2012-09-13 20:29 ` Paolo Bonzini
2012-09-13 21:45 ` Jeff Cody
2012-09-14 6:51 ` Paolo Bonzini
2012-09-14 7:54 ` Kevin Wolf
2012-09-14 7:27 ` Kevin Wolf
2012-09-14 7:50 ` Paolo Bonzini
2012-09-14 7:55 ` Kevin Wolf
2012-09-14 7:55 ` Paolo Bonzini
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 07/16] block: move allocating aligned_buf into a helper function in raw_posix.c Jeff Cody
2012-09-13 17:29 ` Eric Blake
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 08/16] block: raw-posix image file reopen Jeff Cody
2012-09-13 16:02 ` Paolo Bonzini
2012-09-13 16:57 ` Jeff Cody
2012-09-14 7:32 ` Kevin Wolf
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 09/16] block: raw " Jeff Cody
2012-09-13 16:05 ` Paolo Bonzini
2012-09-13 17:02 ` Jeff Cody
2012-09-13 18:53 ` Paolo Bonzini
2012-09-13 19:17 ` Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 10/16] block: qed " Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 11/16] block: qcow2 " Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 12/16] block: qcow " Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 13/16] block: vmdk " Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 14/16] block: raw-win32 driver reopen support Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 15/16] block: convert bdrv_commit() to use bdrv_reopen() Jeff Cody
2012-09-13 15:49 ` [Qemu-devel] [PATCH v2 16/16] block: remove keep_read_only flag from BlockDriverState struct Jeff Cody
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=50522E32.4030406@redhat.com \
--to=jcody@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=supriyak@linux.vnet.ibm.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.