From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:36606) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCC2R-0002JA-KA for qemu-devel@nongnu.org; Thu, 13 Sep 2012 12:13:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TCC2K-0006dt-Ph for qemu-devel@nongnu.org; Thu, 13 Sep 2012 12:13:11 -0400 Received: from mx1.redhat.com ([209.132.183.28]:7416) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TCC2K-0006dh-G1 for qemu-devel@nongnu.org; Thu, 13 Sep 2012 12:13:04 -0400 Message-ID: <5052060A.5010304@redhat.com> Date: Thu, 13 Sep 2012 18:12:58 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <01df3140216ac0398bfb3a295c553c42cdf31e5b.1347548248.git.jcody@redhat.com> In-Reply-To: <01df3140216ac0398bfb3a295c553c42cdf31e5b.1347548248.git.jcody@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2 06/16] block: do not parse BDRV_O_CACHE_WB in raw block drivers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jeff Cody Cc: kwolf@redhat.com, supriyak@linux.vnet.ibm.com, eblake@redhat.com, qemu-devel@nongnu.org, stefanha@gmail.com Il 13/09/2012 17:49, Jeff Cody ha scritto: > Block drivers should always open the files in writeback mode (see commit > e1e9b0ac), so raw-posix/raw-win32 should not parse the BDRV_O_CACHE_WB > flag. > > Signed-off-by: Jeff Cody > --- > block/raw-posix.c | 3 --- > block/raw-win32.c | 3 --- > 2 files changed, 6 deletions(-) > > diff --git a/block/raw-posix.c b/block/raw-posix.c > index 7d3ac9d..4a1047c 100644 > --- a/block/raw-posix.c > +++ b/block/raw-posix.c > @@ -202,9 +202,6 @@ static void raw_parse_flags(int bdrv_flags, int *open_flags) > if ((bdrv_flags & BDRV_O_NOCACHE)) { > *open_flags |= O_DIRECT; > } > - if (!(bdrv_flags & BDRV_O_CACHE_WB)) { > - *open_flags |= O_DSYNC; > - } > } > > static int raw_set_aio(void **aio_ctx, int *use_aio, int bdrv_flags) > diff --git a/block/raw-win32.c b/block/raw-win32.c > index 335c06a..78c8306 100644 > --- a/block/raw-win32.c > +++ b/block/raw-win32.c > @@ -92,9 +92,6 @@ static void raw_parse_flags(int flags, int *access_flags, DWORD *overlapped) > if (flags & BDRV_O_NOCACHE) { > *overlapped |= FILE_FLAG_NO_BUFFERING; > } > - if (!(flags & BDRV_O_CACHE_WB)) { > - *overlapped |= FILE_FLAG_WRITE_THROUGH; > - } > } > > static int raw_open(BlockDriverState *bs, const char *filename, int flags) > 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