From: Paolo Bonzini <pbonzini@redhat.com>
Cc: kwolf@redhat.com, supriyak@linux.vnet.ibm.com,
stefanha@gmail.com, jcody@redhat.com, qemu-devel@nongnu.org,
eblake@redhat.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 22:29:58 +0200 [thread overview]
Message-ID: <50524246.5080800@redhat.com> (raw)
In-Reply-To: <505237A6.7090202@redhat.com>
Il 13/09/2012 21:44, Paolo Bonzini ha scritto:
> Il 13/09/2012 21:04, Jeff Cody ha scritto:
>>>> 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.
>>
>
> Yeah, that would work.
>
> Alternatively, we can keep this patch and leave bdrv_open_common as is;
> but then I would also prefer if raw-{posix,win32} took care of setting
> BDRV_O_CACHE_WB in bs->open_flags, so that the flags are consistent.
> This setting of BDRV_O_CACHE_WB can be extended later to other formats.
Hmm, no, what was I thinking...
But there is a very simple thing we can do:
- patch 2 can be left as is
- in patch 3 bdrv_reopen_queue, always add BDRV_O_CACHE_WB to
bs_entry->state.flags
- in patch 3 bdrv_reopen_commit, always leave BDRV_O_CACHE_WB aside:
reopen_state->bs->open_flags =
(bs->open_flags & BDRV_O_CACHE_WB) |
(reopen_state->flags & ~BDRV_O_CACHE_WB);
- this patch can be dropped completely.
Paolo
next prev parent reply other threads:[~2012-09-13 20:36 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
2012-09-13 19:44 ` Paolo Bonzini
2012-09-13 20:29 ` Paolo Bonzini [this message]
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=50524246.5080800@redhat.com \
--to=pbonzini@redhat.com \
--cc=eblake@redhat.com \
--cc=jcody@redhat.com \
--cc=kwolf@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.