[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 01/20] block: Add bdrv_parse_cache_mode()
From: |
Kevin Wolf |
Subject: |
[Qemu-block] [PATCH v2 01/20] block: Add bdrv_parse_cache_mode() |
Date: |
Tue, 29 Mar 2016 15:30:38 +0200 |
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>
Reviewed-by: Max Reitz <address@hidden>
---
block.c | 17 +++++++++++++++++
include/block/block.h | 1 +
2 files changed, 18 insertions(+)
diff --git a/block.c b/block.c
index 58acfda..33dc46c 100644
--- a/block.c
+++ b/block.c
@@ -666,6 +666,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 26ad002..8d9bf2f 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -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,
--
1.8.3.1
- [Qemu-block] [PATCH v2 00/20] block: Implement writethrough in BlockBackend, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 01/20] block: Add bdrv_parse_cache_mode(),
Kevin Wolf <=
- [Qemu-block] [PATCH v2 04/20] qemu-img: Expand all BDRV_O_FLAGS uses, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 03/20] qemu-io: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 02/20] qemu-nbd: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 05/20] qemu-img: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 07/20] block: blockdev_init(): Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 06/20] xen_disk: Call blk_set_enable_write_cache() explicitly, Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 09/20] block: Handle flush error in bdrv_pwrite_sync(), Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 11/20] block/qapi: Use blk_enable_write_cache(), Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 08/20] block: Always set writeback mode in blk_new_open(), Kevin Wolf, 2016/03/29
- [Qemu-block] [PATCH v2 14/20] nbd: Support BDRV_REQ_FUA, Kevin Wolf, 2016/03/29