mirror of https://gitee.com/openkylin/linux.git
nvme-fabrics: Remove tl_retry_count
The timeout before error recovery logic kicks in is dictated by the nvme keep-alive, so we don't really need a transport layer retry count. transports can retry for as much as they like. Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
2ac17c283a
commit
6a92967ccb
|
@ -503,7 +503,6 @@ static const match_table_t opt_tokens = {
|
||||||
{ NVMF_OPT_NQN, "nqn=%s" },
|
{ NVMF_OPT_NQN, "nqn=%s" },
|
||||||
{ NVMF_OPT_QUEUE_SIZE, "queue_size=%d" },
|
{ NVMF_OPT_QUEUE_SIZE, "queue_size=%d" },
|
||||||
{ NVMF_OPT_NR_IO_QUEUES, "nr_io_queues=%d" },
|
{ NVMF_OPT_NR_IO_QUEUES, "nr_io_queues=%d" },
|
||||||
{ NVMF_OPT_TL_RETRY_COUNT, "tl_retry_count=%d" },
|
|
||||||
{ NVMF_OPT_RECONNECT_DELAY, "reconnect_delay=%d" },
|
{ NVMF_OPT_RECONNECT_DELAY, "reconnect_delay=%d" },
|
||||||
{ NVMF_OPT_KATO, "keep_alive_tmo=%d" },
|
{ NVMF_OPT_KATO, "keep_alive_tmo=%d" },
|
||||||
{ NVMF_OPT_HOSTNQN, "hostnqn=%s" },
|
{ NVMF_OPT_HOSTNQN, "hostnqn=%s" },
|
||||||
|
@ -521,7 +520,6 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts,
|
||||||
/* Set defaults */
|
/* Set defaults */
|
||||||
opts->queue_size = NVMF_DEF_QUEUE_SIZE;
|
opts->queue_size = NVMF_DEF_QUEUE_SIZE;
|
||||||
opts->nr_io_queues = num_online_cpus();
|
opts->nr_io_queues = num_online_cpus();
|
||||||
opts->tl_retry_count = 2;
|
|
||||||
opts->reconnect_delay = NVMF_DEF_RECONNECT_DELAY;
|
opts->reconnect_delay = NVMF_DEF_RECONNECT_DELAY;
|
||||||
|
|
||||||
options = o = kstrdup(buf, GFP_KERNEL);
|
options = o = kstrdup(buf, GFP_KERNEL);
|
||||||
|
@ -605,18 +603,6 @@ static int nvmf_parse_options(struct nvmf_ctrl_options *opts,
|
||||||
opts->nr_io_queues = min_t(unsigned int,
|
opts->nr_io_queues = min_t(unsigned int,
|
||||||
num_online_cpus(), token);
|
num_online_cpus(), token);
|
||||||
break;
|
break;
|
||||||
case NVMF_OPT_TL_RETRY_COUNT:
|
|
||||||
if (match_int(args, &token)) {
|
|
||||||
ret = -EINVAL;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
if (token < 0) {
|
|
||||||
pr_err("Invalid tl_retry_count %d\n", token);
|
|
||||||
ret = -EINVAL;
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
opts->tl_retry_count = token;
|
|
||||||
break;
|
|
||||||
case NVMF_OPT_KATO:
|
case NVMF_OPT_KATO:
|
||||||
if (match_int(args, &token)) {
|
if (match_int(args, &token)) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
|
|
|
@ -69,8 +69,6 @@ enum {
|
||||||
* @trsvcid: network port used for host-controller communication.
|
* @trsvcid: network port used for host-controller communication.
|
||||||
* @queue_size: Number of IO queue elements.
|
* @queue_size: Number of IO queue elements.
|
||||||
* @nr_io_queues: Number of controller IO queues that will be established.
|
* @nr_io_queues: Number of controller IO queues that will be established.
|
||||||
* @tl_retry_count: Number of transport layer retries for a fabric queue before
|
|
||||||
* kicking upper layer(s) error recovery.
|
|
||||||
* @reconnect_delay: Time between two consecutive reconnect attempts.
|
* @reconnect_delay: Time between two consecutive reconnect attempts.
|
||||||
* @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
|
* @discovery_nqn: indicates if the subsysnqn is the well-known discovery NQN.
|
||||||
* @kato: Keep-alive timeout.
|
* @kato: Keep-alive timeout.
|
||||||
|
@ -84,7 +82,6 @@ struct nvmf_ctrl_options {
|
||||||
char *trsvcid;
|
char *trsvcid;
|
||||||
size_t queue_size;
|
size_t queue_size;
|
||||||
unsigned int nr_io_queues;
|
unsigned int nr_io_queues;
|
||||||
unsigned short tl_retry_count;
|
|
||||||
unsigned int reconnect_delay;
|
unsigned int reconnect_delay;
|
||||||
bool discovery_nqn;
|
bool discovery_nqn;
|
||||||
unsigned int kato;
|
unsigned int kato;
|
||||||
|
|
Loading…
Reference in New Issue