tcp.c (dcef77274ae52136925287b6b59d5c6e6a4adfb9) tcp.c (db45e1a5ddccc034eb60d62fc5352022d7963ae2)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics TCP host.
4 * Copyright (c) 2018 Lightbits Labs. All rights reserved.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 1844 unchanged lines hidden (view full) ---

1853
1854 ret = nvme_tcp_alloc_io_queues(ctrl);
1855 if (ret)
1856 return ret;
1857
1858 if (new) {
1859 ret = nvme_alloc_io_tag_set(ctrl, &to_tcp_ctrl(ctrl)->tag_set,
1860 &nvme_tcp_mq_ops,
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * NVMe over Fabrics TCP host.
4 * Copyright (c) 2018 Lightbits Labs. All rights reserved.
5 */
6#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
7#include <linux/module.h>
8#include <linux/init.h>

--- 1844 unchanged lines hidden (view full) ---

1853
1854 ret = nvme_tcp_alloc_io_queues(ctrl);
1855 if (ret)
1856 return ret;
1857
1858 if (new) {
1859 ret = nvme_alloc_io_tag_set(ctrl, &to_tcp_ctrl(ctrl)->tag_set,
1860 &nvme_tcp_mq_ops,
1861 BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_BLOCKING,
1862 ctrl->opts->nr_poll_queues ? HCTX_MAX_TYPES : 2,
1863 sizeof(struct nvme_tcp_request));
1864 if (ret)
1865 goto out_free_io_queues;
1866 }
1867
1868 /*
1869 * Only start IO queues for which we have allocated the tagset

--- 59 unchanged lines hidden (view full) ---

1929
1930 error = nvme_tcp_alloc_admin_queue(ctrl);
1931 if (error)
1932 return error;
1933
1934 if (new) {
1935 error = nvme_alloc_admin_tag_set(ctrl,
1936 &to_tcp_ctrl(ctrl)->admin_tag_set,
1861 ctrl->opts->nr_poll_queues ? HCTX_MAX_TYPES : 2,
1862 sizeof(struct nvme_tcp_request));
1863 if (ret)
1864 goto out_free_io_queues;
1865 }
1866
1867 /*
1868 * Only start IO queues for which we have allocated the tagset

--- 59 unchanged lines hidden (view full) ---

1928
1929 error = nvme_tcp_alloc_admin_queue(ctrl);
1930 if (error)
1931 return error;
1932
1933 if (new) {
1934 error = nvme_alloc_admin_tag_set(ctrl,
1935 &to_tcp_ctrl(ctrl)->admin_tag_set,
1937 &nvme_tcp_admin_mq_ops, BLK_MQ_F_BLOCKING,
1936 &nvme_tcp_admin_mq_ops,
1938 sizeof(struct nvme_tcp_request));
1939 if (error)
1940 goto out_free_queue;
1941 }
1942
1943 error = nvme_tcp_start_queue(ctrl, 0);
1944 if (error)
1945 goto out_cleanup_tagset;

--- 561 unchanged lines hidden (view full) ---

2507 .exit_request = nvme_tcp_exit_request,
2508 .init_hctx = nvme_tcp_init_admin_hctx,
2509 .timeout = nvme_tcp_timeout,
2510};
2511
2512static const struct nvme_ctrl_ops nvme_tcp_ctrl_ops = {
2513 .name = "tcp",
2514 .module = THIS_MODULE,
1937 sizeof(struct nvme_tcp_request));
1938 if (error)
1939 goto out_free_queue;
1940 }
1941
1942 error = nvme_tcp_start_queue(ctrl, 0);
1943 if (error)
1944 goto out_cleanup_tagset;

--- 561 unchanged lines hidden (view full) ---

2506 .exit_request = nvme_tcp_exit_request,
2507 .init_hctx = nvme_tcp_init_admin_hctx,
2508 .timeout = nvme_tcp_timeout,
2509};
2510
2511static const struct nvme_ctrl_ops nvme_tcp_ctrl_ops = {
2512 .name = "tcp",
2513 .module = THIS_MODULE,
2515 .flags = NVME_F_FABRICS,
2514 .flags = NVME_F_FABRICS | NVME_F_BLOCKING,
2516 .reg_read32 = nvmf_reg_read32,
2517 .reg_read64 = nvmf_reg_read64,
2518 .reg_write32 = nvmf_reg_write32,
2519 .free_ctrl = nvme_tcp_free_ctrl,
2520 .submit_async_event = nvme_tcp_submit_async_event,
2521 .delete_ctrl = nvme_tcp_delete_ctrl,
2522 .get_address = nvme_tcp_get_address,
2523 .stop_ctrl = nvme_tcp_stop_ctrl,

--- 168 unchanged lines hidden ---
2515 .reg_read32 = nvmf_reg_read32,
2516 .reg_read64 = nvmf_reg_read64,
2517 .reg_write32 = nvmf_reg_write32,
2518 .free_ctrl = nvme_tcp_free_ctrl,
2519 .submit_async_event = nvme_tcp_submit_async_event,
2520 .delete_ctrl = nvme_tcp_delete_ctrl,
2521 .get_address = nvme_tcp_get_address,
2522 .stop_ctrl = nvme_tcp_stop_ctrl,

--- 168 unchanged lines hidden ---