[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 39/47] quorum: Use qapi_enum_parse() in quorum_ope
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PULL v2 39/47] quorum: Use qapi_enum_parse() in quorum_open() |
Date: |
Fri, 1 Sep 2017 17:37:50 +0200 |
From: Marc-André Lureau <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Markus Armbruster <address@hidden>
[Rebased, qemu_opt_get() factored out, commit message tweaked]
Cc: Alberto Garcia <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Message-Id: <address@hidden>
---
block/quorum.c | 28 +++++++++-------------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/block/quorum.c b/block/quorum.c
index d04da4f430..cb6617703c 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -22,6 +22,7 @@
#include "qapi/qmp/qjson.h"
#include "qapi/qmp/qlist.h"
#include "qapi/qmp/qstring.h"
+#include "qapi/util.h"
#include "qapi-event.h"
#include "crypto/hash.h"
@@ -867,30 +868,13 @@ static QemuOptsList quorum_runtime_opts = {
},
};
-static int parse_read_pattern(const char *opt)
-{
- int i;
-
- if (!opt) {
- /* Set quorum as default */
- return QUORUM_READ_PATTERN_QUORUM;
- }
-
- for (i = 0; i < QUORUM_READ_PATTERN__MAX; i++) {
- if (!strcmp(opt, QuorumReadPattern_lookup[i])) {
- return i;
- }
- }
-
- return -EINVAL;
-}
-
static int quorum_open(BlockDriverState *bs, QDict *options, int flags,
Error **errp)
{
BDRVQuorumState *s = bs->opaque;
Error *local_err = NULL;
QemuOpts *opts = NULL;
+ const char *pattern_str;
bool *opened;
int i;
int ret = 0;
@@ -925,7 +909,13 @@ static int quorum_open(BlockDriverState *bs, QDict
*options, int flags,
goto exit;
}
- ret = parse_read_pattern(qemu_opt_get(opts, QUORUM_OPT_READ_PATTERN));
+ pattern_str = qemu_opt_get(opts, QUORUM_OPT_READ_PATTERN);
+ if (!pattern_str) {
+ ret = QUORUM_READ_PATTERN_QUORUM;
+ } else {
+ ret = qapi_enum_parse(QuorumReadPattern_lookup, pattern_str,
+ -EINVAL, NULL);
+ }
if (ret < 0) {
error_setg(&local_err, "Please set read-pattern as fifo or quorum");
goto exit;
--
2.13.5
- [Qemu-devel] [PULL v2 10/47] qlit: make qlit_equal_qobject() take const arguments, (continued)
- [Qemu-devel] [PULL v2 10/47] qlit: make qlit_equal_qobject() take const arguments, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 30/47] qapi-schema: Move queries from common.json to qapi-schema.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 08/47] qlit: rename compare_litqobj_to_qobj() to qlit_equal_qobject(), Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 07/47] qlit: Change compound literals to initializers, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 14/47] qlit: Tighten QLit dict vs QDict comparison, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 13/47] tests/check-qlit: New, covering qobject/qlit.c, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 28/47] qapi-schema: Fold event.json back into qapi-schema.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 26/47] qapi-schema: Collect TPM stuff in qapi/tpm.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 39/47] quorum: Use qapi_enum_parse() in quorum_open(),
Markus Armbruster <=
- [Qemu-devel] [PULL v2 25/47] qapi-schema: Collect transaction stuff in qapi/transaction.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 32/47] qapi: Update qapi-code-gen.txt examples to match current code, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 27/47] qapi-schema: Move block events from event.json to block.json, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 42/47] qapi: Avoid unnecessary use of enum lookup table's sentinel, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 06/47] qlit: use QLit prefix consistently, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 29/47] qapi-schema: Make block-core.json self-contained, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 11/47] qlit: add QLIT_QNULL and QLIT_BOOL, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 16/47] qapi-schema: Document how generated documentation is ordered, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 31/47] qapi-schema: Improve section headings, Markus Armbruster, 2017/09/01
- [Qemu-devel] [PULL v2 41/47] qapi: Use qapi_enum_parse() in input_type_enum(), Markus Armbruster, 2017/09/01