[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 01/20] block: Add bdrv_parse_cache_mode()
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 01/20] block: Add bdrv_parse_cache_mode() |
Date: |
Fri, 18 Mar 2016 19:21:10 +0100 |
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: Kevin Wolf <address@hidden>
---
block.c | 17 +++++++++++++++++
include/block/block.h | 1 +
2 files changed, 18 insertions(+)
diff --git a/block.c b/block.c
index d319f86..172f865 100644
--- a/block.c
+++ b/block.c
@@ -661,6 +661,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
diff --git a/include/block/block.h b/include/block/block.h
index 4adb1e9..823f4d7 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -206,6 +206,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,
--
1.8.3.1
- [Qemu-devel] [PATCH 00/20] block: Implement writethrough in BlockBackend, Kevin Wolf, 2016/03/18
- [Qemu-devel] [PATCH 02/20] qemu-nbd: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/18
- [Qemu-devel] [PATCH 01/20] block: Add bdrv_parse_cache_mode(),
Kevin Wolf <=
- [Qemu-devel] [PATCH 04/20] qemu-img: Expand all BDRV_O_FLAGS uses, Kevin Wolf, 2016/03/18
- [Qemu-devel] [PATCH 03/20] qemu-io: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/18
- [Qemu-devel] [PATCH 06/20] xen_disk: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/18
- [Qemu-devel] [PATCH 09/20] block: Handle flush error in bdrv_pwrite_sync(), Kevin Wolf, 2016/03/18