diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/iscsi.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/block/iscsi.c b/block/iscsi.c index 3adb9b1..c4f813b 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -1291,13 +1291,13 @@ static void apply_header_digest(struct iscsi_context *iscsi, QemuOpts *opts, digest = qemu_opt_get(opts, "header-digest"); if (!digest) { iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); - } else if (!strcmp(digest, "CRC32C")) { + } else if (!strcmp(digest, "crc32c")) { iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_CRC32C); - } else if (!strcmp(digest, "NONE")) { + } else if (!strcmp(digest, "none")) { iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE); - } else if (!strcmp(digest, "CRC32C-NONE")) { + } else if (!strcmp(digest, "crc32c-none")) { iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_CRC32C_NONE); - } else if (!strcmp(digest, "NONE-CRC32C")) { + } else if (!strcmp(digest, "none-crc32c")) { iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C); } else { error_setg(errp, "Invalid header-digest setting : %s", digest); @@ -1576,7 +1576,11 @@ static void iscsi_parse_iscsi_option(const char *target, QDict *options) header_digest = qemu_opt_get(opts, "header-digest"); if (header_digest) { - qdict_set_default_str(options, "header-digest", header_digest); + /* -iscsi takes upper case values, but QAPI only supports lower case + * enum constant names, so we have to convert here. */ + char *qapi_value = g_ascii_strdown(header_digest, -1); + qdict_set_default_str(options, "header-digest", qapi_value); + g_free(qapi_value); } timeout = qemu_opt_get(opts, "timeout"); |