From c8e594c2a0434e54d0d077e10a3ba3668a436960 Mon Sep 17 00:00:00 2001 From: gongwei Date: Thu, 1 Sep 2022 11:33:35 +0000 Subject: [PATCH] bdev_iscsi: modify the timeout parameter name of iscsi opts the current timeout parameter of the interface bdev_iscsi_set_opts is duplicated with the timeout parameter of the JSONRPCClient parameter, which may cause the iscsi timeout and JSONRPCClient parameters to overwrite each other. Signed-off-by: gongwei Change-Id: I96604a7e1a495ac2e99518812297230680df42fd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14306 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto --- doc/jsonrpc.md | 4 ++-- module/bdev/iscsi/bdev_iscsi.c | 8 ++++---- module/bdev/iscsi/bdev_iscsi.h | 2 +- module/bdev/iscsi/bdev_iscsi_rpc.c | 2 +- python/spdk/rpc/bdev.py | 8 ++++---- scripts/rpc.py | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/jsonrpc.md b/doc/jsonrpc.md index f416d32f9..5a77a26c0 100644 --- a/doc/jsonrpc.md +++ b/doc/jsonrpc.md @@ -4616,7 +4616,7 @@ This RPC can be called at any time, but the new value will only take effect for Name | Optional | Type | Description -------------------------- | -------- | ----------- | ----------- -timeout | Optional | number | Timeout for command, in seconds, if 0, don't track timeout +timeout_sec | Optional | number | Timeout for command, in seconds, if 0, don't track timeout #### Example @@ -4626,7 +4626,7 @@ Example request: request: { "params": { - "timeout": 30 + "timeout_sec": 30 }, "jsonrpc": "2.0", "method": "bdev_iscsi_set_options", diff --git a/module/bdev/iscsi/bdev_iscsi.c b/module/bdev/iscsi/bdev_iscsi.c index 97876a7ca..0d584ef9f 100644 --- a/module/bdev/iscsi/bdev_iscsi.c +++ b/module/bdev/iscsi/bdev_iscsi.c @@ -101,7 +101,7 @@ struct bdev_iscsi_conn_req { }; static struct spdk_bdev_iscsi_opts g_opts = { - .timeout = BDEV_ISCSI_TIMEOUT_DEFAULT, + .timeout_sec = BDEV_ISCSI_TIMEOUT_DEFAULT, .timeout_poller_period_us = BDEV_ISCSI_TIMEOUT_POLL_PERIOD_DEFAULT, }; @@ -115,7 +115,7 @@ int bdev_iscsi_set_opts(struct spdk_bdev_iscsi_opts *opts) { /* make the poller period equal to timeout / 30 */ - opts->timeout_poller_period_us = (opts->timeout * 1000000ULL) / + opts->timeout_poller_period_us = (opts->timeout_sec * 1000000ULL) / BDEV_ISCSI_TIMEOUT_POLL_PERIOD_DIVISOR; g_opts = *opts; @@ -661,7 +661,7 @@ bdev_iscsi_create_cb(void *io_device, void *ctx_buf) assert(lun->main_td == NULL); lun->main_td = spdk_get_thread(); lun->poller = SPDK_POLLER_REGISTER(bdev_iscsi_poll_lun, lun, 0); - if (g_opts.timeout > 0) { + if (g_opts.timeout_sec > 0) { lun->timeout_poller = SPDK_POLLER_REGISTER(bdev_iscsi_poll_lun_timeout, lun, g_opts.timeout_poller_period_us); } @@ -1044,7 +1044,7 @@ create_iscsi_disk(const char *bdev_name, const char *url, const char *initiator_ rc = iscsi_set_session_type(req->context, ISCSI_SESSION_NORMAL); rc = rc ? rc : iscsi_set_header_digest(req->context, ISCSI_HEADER_DIGEST_NONE); rc = rc ? rc : iscsi_set_targetname(req->context, iscsi_url->target); - rc = rc ? rc : iscsi_set_timeout(req->context, g_opts.timeout); + rc = rc ? rc : iscsi_set_timeout(req->context, g_opts.timeout_sec); rc = rc ? rc : iscsi_full_connect_async(req->context, iscsi_url->portal, iscsi_url->lun, iscsi_connect_cb, req); if (rc == 0 && iscsi_url->user[0] != '\0') { diff --git a/module/bdev/iscsi/bdev_iscsi.h b/module/bdev/iscsi/bdev_iscsi.h index 0956b3334..e31ec191c 100644 --- a/module/bdev/iscsi/bdev_iscsi.h +++ b/module/bdev/iscsi/bdev_iscsi.h @@ -9,7 +9,7 @@ #include "spdk/bdev.h" struct spdk_bdev_iscsi_opts { - uint64_t timeout; + uint64_t timeout_sec; uint64_t timeout_poller_period_us; }; diff --git a/module/bdev/iscsi/bdev_iscsi_rpc.c b/module/bdev/iscsi/bdev_iscsi_rpc.c index eb5386c91..0d5195e39 100644 --- a/module/bdev/iscsi/bdev_iscsi_rpc.c +++ b/module/bdev/iscsi/bdev_iscsi_rpc.c @@ -11,7 +11,7 @@ #include "spdk/log.h" static const struct spdk_json_object_decoder rpc_bdev_iscsi_options_decoders[] = { - {"timeout", offsetof(struct spdk_bdev_iscsi_opts, timeout), spdk_json_decode_uint64, true}, + {"timeout_sec", offsetof(struct spdk_bdev_iscsi_opts, timeout_sec), spdk_json_decode_uint64, true}, }; static void diff --git a/python/spdk/rpc/bdev.py b/python/spdk/rpc/bdev.py index ea0eb7826..422ca94f8 100644 --- a/python/spdk/rpc/bdev.py +++ b/python/spdk/rpc/bdev.py @@ -1116,16 +1116,16 @@ def bdev_error_delete(client, name): return client.call('bdev_error_delete', params) -def bdev_iscsi_set_options(client, timeout): +def bdev_iscsi_set_options(client, timeout_sec): """Set options for the bdev iscsi. Args: - timeout: Timeout for command, in seconds, if 0, don't track timeout + timeout_sec: Timeout for command, in seconds, if 0, don't track timeout """ params = {} - if timeout is not None: - params['timeout'] = timeout + if timeout_sec is not None: + params['timeout_sec'] = timeout_sec return client.call('bdev_iscsi_set_options', params) diff --git a/scripts/rpc.py b/scripts/rpc.py index a1a9dc43f..93641fc5d 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -998,10 +998,10 @@ if __name__ == "__main__": def bdev_iscsi_set_options(args): rpc.bdev.bdev_iscsi_set_options(args.client, - timeout=args.timeout) + timeout_sec=args.timeout_sec) p = subparsers.add_parser('bdev_iscsi_set_options', help='Set options for the bdev iscsi type.') - p.add_argument('-t', '--timeout', help="Timeout for command, in seconds, if 0, don't track timeout.", type=int) + p.add_argument('-t', '--timeout-sec', help="Timeout for command, in seconds, if 0, don't track timeout.", type=int) p.set_defaults(func=bdev_iscsi_set_options) def bdev_iscsi_create(args):