[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 4/7] iscsi: Add header-digest op
From: |
Fam Zheng |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 4/7] iscsi: Add header-digest option |
Date: |
Tue, 7 Feb 2017 18:18:23 +0800 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Wed, 01/25 12:42, Jeff Cody wrote:
> From: Kevin Wolf <address@hidden>
>
> This was previously only available with -iscsi. Again, after this patch,
> the -iscsi option only takes effect if an URL is given. New users are
> supposed to use the new driver-specific option.
>
> Reviewed-by: Daniel P. Berrange <address@hidden>
> Signed-off-by: Kevin Wolf <address@hidden>
> Signed-off-by: Jeff Cody <address@hidden>
> ---
> block/iscsi.c | 39 +++++++++++++++------------------------
> 1 file changed, 15 insertions(+), 24 deletions(-)
>
> diff --git a/block/iscsi.c b/block/iscsi.c
> index 3401b7e..a989b52 100644
> --- a/block/iscsi.c
> +++ b/block/iscsi.c
> @@ -1274,32 +1274,15 @@ static void apply_chap(struct iscsi_context *iscsi,
> QemuOpts *opts,
> g_free(secret);
> }
>
> -static void parse_header_digest(struct iscsi_context *iscsi, const char
> *target,
> +static void apply_header_digest(struct iscsi_context *iscsi, QemuOpts *opts,
> Error **errp)
> {
> - QemuOptsList *list;
> - QemuOpts *opts;
> const char *digest = NULL;
>
> - list = qemu_find_opts("iscsi");
> - if (!list) {
> - return;
> - }
> -
> - opts = qemu_opts_find(list, target);
> - if (opts == NULL) {
> - opts = QTAILQ_FIRST(&list->head);
> - if (!opts) {
> - return;
> - }
> - }
> -
> digest = qemu_opt_get(opts, "header-digest");
> if (!digest) {
> - return;
> - }
> -
> - if (!strcmp(digest, "CRC32C")) {
> + iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C);
> + } else if (!strcmp(digest, "CRC32C")) {
> iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_CRC32C);
> } else if (!strcmp(digest, "NONE")) {
> iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE);
> @@ -1565,7 +1548,8 @@ static void iscsi_parse_iscsi_option(const char
> *target, QDict *options)
> {
> QemuOptsList *list;
> QemuOpts *opts;
> - const char *user, *password, *password_secret, *initiator_name;
> + const char *user, *password, *password_secret, *initiator_name,
> + *header_digest;
>
> list = qemu_find_opts("iscsi");
> if (!list) {
> @@ -1599,6 +1583,11 @@ static void iscsi_parse_iscsi_option(const char
> *target, QDict *options)
> if (initiator_name) {
> qdict_set_default_str(options, "initiator-name", initiator_name);
> }
> +
> + header_digest = qemu_opt_get(opts, "header-digest");
> + if (header_digest) {
> + qdict_set_default_str(options, "header-digest", header_digest);
> + }
> }
>
> /*
> @@ -1687,6 +1676,10 @@ static QemuOptsList runtime_opts = {
> .name = "initiator-name",
> .type = QEMU_OPT_STRING,
> },
> + {
> + .name = "header-digest",
> + .type = QEMU_OPT_STRING,
> + },
> { /* end of list */ }
> },
> };
> @@ -1778,10 +1771,8 @@ static int iscsi_open(BlockDriverState *bs, QDict
> *options, int flags,
> goto out;
> }
>
> - iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C);
> -
> /* check if we got HEADER_DIGEST via the options */
> - parse_header_digest(iscsi, target, &local_err);
> + apply_header_digest(iscsi, opts, &local_err);
> if (local_err != NULL) {
> error_propagate(errp, local_err);
> ret = -EINVAL;
> --
> 2.9.3
>
>
Reviewed-by: Fam Zheng <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 4/7] iscsi: Add header-digest option,
Fam Zheng <=