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 <jc...@redhat.com> > --- > 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