Skip to content
Snippets Groups Projects
Commit baf5602e authored by Kevin Wolf's avatar Kevin Wolf
Browse files

block: Add bdrv_parse_cache_mode()


It's like bdrv_parse_cache_flags(), except that writethrough mode isn't
included in the flags, but returned as a separate bool.

Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Reviewed-by: default avatarMax Reitz <mreitz@redhat.com>
parent 63785678
No related branches found
No related tags found
No related merge requests found
......@@ -667,6 +667,23 @@ 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
......
......@@ -208,6 +208,7 @@ 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,
QDict *options, const char *bdref_key,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment