All users are converted to bdrv_parse_cache_mode() now. Signed-off-by: Kevin Wolf <kw...@redhat.com> Reviewed-by: Max Reitz <mre...@redhat.com> --- block.c | 29 +++++++---------------------- include/block/block.h | 1 - 2 files changed, 7 insertions(+), 23 deletions(-)
diff --git a/block.c b/block.c index 1da7390..163457f 100644 --- a/block.c +++ b/block.c @@ -644,21 +644,23 @@ int bdrv_parse_discard_flags(const char *mode, int *flags) * * Return 0 on success, -1 if the cache mode was invalid. */ -int bdrv_parse_cache_flags(const char *mode, int *flags) +int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough) { *flags &= ~BDRV_O_CACHE_MASK; if (!strcmp(mode, "off") || !strcmp(mode, "none")) { - *flags |= BDRV_O_NOCACHE | BDRV_O_CACHE_WB; + *writethrough = false; + *flags |= BDRV_O_NOCACHE; } else if (!strcmp(mode, "directsync")) { + *writethrough = true; *flags |= BDRV_O_NOCACHE; } else if (!strcmp(mode, "writeback")) { - *flags |= BDRV_O_CACHE_WB; + *writethrough = false; } else if (!strcmp(mode, "unsafe")) { - *flags |= BDRV_O_CACHE_WB; + *writethrough = false; *flags |= BDRV_O_NO_FLUSH; } else if (!strcmp(mode, "writethrough")) { - /* this is the default */ + *writethrough = true; } else { return -1; } @@ -666,23 +668,6 @@ int bdrv_parse_cache_flags(const char *mode, int *flags) return 0; } -int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough) -{ - int ret = bdrv_parse_cache_flags(mode, flags); - if (ret < 0) { - return ret; - } - - if (*flags & BDRV_O_CACHE_WB) { - *flags &= ~BDRV_O_CACHE_WB; - *writethrough = false; - } else { - *writethrough = true; - } - - return 0; -} - /* * Returns the options and flags that a temporary snapshot should get, based on * the originally requested flags (the originally requested image will have diff --git a/include/block/block.h b/include/block/block.h index c645c26..db1b997 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -208,7 +208,6 @@ void bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top); void bdrv_replace_in_backing_chain(BlockDriverState *old, BlockDriverState *new); -int bdrv_parse_cache_flags(const char *mode, int *flags); int bdrv_parse_cache_mode(const char *mode, int *flags, bool *writethrough); int bdrv_parse_discard_flags(const char *mode, int *flags); BdrvChild *bdrv_open_child(const char *filename, -- 1.8.3.1