c2471e45 | 24-Sep-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
nvmf: Clean unassociated_qpairs on connect error
When spdk_nvmf_poll_group_add returns an error, qpair is in uninitialized state and spdk_nvmf_qpair_disconnect handles this state in a special way, i
nvmf: Clean unassociated_qpairs on connect error
When spdk_nvmf_poll_group_add returns an error, qpair is in uninitialized state and spdk_nvmf_qpair_disconnect handles this state in a special way, i.e. we don't decrement the `group->current_unassociated_qpairs` counter. That is not a critical error but may lead to uneven qpairs distribution.
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: If68c4c4c8f3a99a690ba15694b5568940a7e0c21 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25012 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
5469bd2d | 24-Sep-2024 |
Alexey Marchuk <alexeymar@nvidia.com> |
nvmf/rdma: Fix destroy of uninitialized qpair
When rdma_accept fails we destoy a qpair immediately, however if SRQ is disabled, qpair already posted RECV WRs to the shared CQ. Later when we poll the
nvmf/rdma: Fix destroy of uninitialized qpair
When rdma_accept fails we destoy a qpair immediately, however if SRQ is disabled, qpair already posted RECV WRs to the shared CQ. Later when we poll the CQ, we can reap these RECV WRs while the qpair is already destroyed. That may lead to the app crash. To fix this issue, destroy qpair in the uninitilized state in regular way - wait for all resources to be released
Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com> Change-Id: Iec2c0d712de981a531b3696cf43b49ef92ff6f6e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25011 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Alex Michon <amichon@kalrayinc.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
b43c2605 | 13-Nov-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
nvmf: discovery log page updation change
If the subsystem's allow any host state is same as the requested one, then there is no need to update the discovery log page.
Change-Id: Ie94e7261a25e3aa407
nvmf: discovery log page updation change
If the subsystem's allow any host state is same as the requested one, then there is no need to update the discovery log page.
Change-Id: Ie94e7261a25e3aa407daf0a63c1ca5313f199f27 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25423 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
6e1d0b50 | 25-Nov-2024 |
John Levon <john.levon@nutanix.com> |
nvmf/vfio-user: sq flow control isn't working properly
Our attempt to do flow control of an SQ wasn't working properly, as it did not account for previous (outstanding) requests. Include those in th
nvmf/vfio-user: sq flow control isn't working properly
Our attempt to do flow control of an SQ wasn't working properly, as it did not account for previous (outstanding) requests. Include those in the calculation of our CQ slot headroom.
There was also a bug in vfio_user_sq_rearm() we must fix here: when flow control is applied, it's perfectly possible for the "lost the race" case to not process any requests.
In either of the two cases (lost the event index race; applied flow control), we need to make sure that we will wake back up and process the SQ again; introduce ->need_kick on the poll group for this purpose.
Change-Id: Ib737364691a62461c059a98b2d171cb9976032d7 Signed-off-by: John Levon <john.levon@nutanix.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25473 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
b37db069 | 03-Dec-2024 |
XuQi <1530865185@qq.com> |
replace strtok with strtok_r
The strtok function is not reentrant. To address this issue in a multithreaded environment, the strtok_r function should be used, which is the reentrant version of strto
replace strtok with strtok_r
The strtok function is not reentrant. To address this issue in a multithreaded environment, the strtok_r function should be used, which is the reentrant version of strtok.
Signed-off-by: XuQi <1530865185@qq.com> Change-Id: I35c07c7cf4e20bacb7b1e7c7adaedfcd1a81f86e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25492 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot
show more ...
|
aac967c0 | 09-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
lib/nvmf: create pollers for each transport poll group
Having more granular pollers makes it easier to detect and report whether any given poller has pending work in progress.
Signed-off-by: Jim Ha
lib/nvmf: create pollers for each transport poll group
Having more granular pollers makes it easier to detect and report whether any given poller has pending work in progress.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I640eca2c702ac07eec1b84e3f541564fd0d44a12 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25184 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
b8c964e2 | 08-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
nvmf/tcp: remove await_req TAILQ
This was previously attempted in 0bcaf050, but was reverted in bf102998 because it missed kicking the tqpair to process again when in AWAIT_REQ state and a req is re
nvmf/tcp: remove await_req TAILQ
This was previously attempted in 0bcaf050, but was reverted in bf102998 because it missed kicking the tqpair to process again when in AWAIT_REQ state and a req is released.
So when a req is released and the tqpair is in AWAIT_REQ state, send a deferred message to process the tqpair. We also set a flag keeping track of whether a message is already in flight, to avoid sending extra unneeded messages if a bunch of requests are released all at once.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Icbdf02129761b08abdccfd48e969e5e4d729fcca Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25175 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
11595300 | 08-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
nvmf/tcp: add nvmf_tcp_qpair_process() helper function
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I25e6a0c57ae07510e6ad036e8689f15adbdf82af Reviewed-on: https://review.spdk.io/ger
nvmf/tcp: add nvmf_tcp_qpair_process() helper function
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I25e6a0c57ae07510e6ad036e8689f15adbdf82af Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25174 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
ea7fd2a5 | 08-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
nvmf/tcp: simplify nvmf_tcp_poll_group_poll event counting
Upcoming patches will remove the await_req TAILQ, so simplify the code here for now to just always count processing a tqpair on this TAILQ
nvmf/tcp: simplify nvmf_tcp_poll_group_poll event counting
Upcoming patches will remove the await_req TAILQ, so simplify the code here for now to just always count processing a tqpair on this TAILQ as an event, and don't return error status if one of the tqpairs fails processing.
This technically is more correct anyways. The upper layer aggregates the return value from all of the transports, so returning a negative value on error could mess up accounting (i.e. TCP returns -1, RDMA returns 1, they cancel each other out...)
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I0bad2be71edf7c046b6543a05efd0165f5166136 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25173 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
2e10c84c | 15-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
nvmf: Expose DIF type of namespace to host again
We disabled exposing DIF type of namespaces to host because nvmf library did not support PRACT. https://github.com/spdk/spdk/commit/a438718fc25a5298f
nvmf: Expose DIF type of namespace to host again
We disabled exposing DIF type of namespaces to host because nvmf library did not support PRACT. https://github.com/spdk/spdk/commit/a438718fc25a5298f0bfc9daf2be0abc885b54be
nvmf library support PRACT now.
Let's expose DIF type of namespaces to host again.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I9c30c3c50791ade18fb46c2be807984c934d3788 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25438 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
38b931b2 | 15-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
nvmf: Set bdev_ext_io_opts::dif_check_flags_exclude_mask for read/write
Fill opts->dif_check_flags_exclude_mask when nvmf submits read or write I/O to bdev layer. Furthremore, get CDW12 value for re
nvmf: Set bdev_ext_io_opts::dif_check_flags_exclude_mask for read/write
Fill opts->dif_check_flags_exclude_mask when nvmf submits read or write I/O to bdev layer. Furthremore, get CDW12 value for read I/O because it has PRACT bit.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Icfa5b9c9b3ca8a0d6d9b08ba447e06ebe0986443 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23629 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
afdec00e | 06-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
nvmf: Add hide_metadata option to nvmf_subsystem_add_ns
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I518c3cc5fdcb16b41f1e3bda1debf5cb3cc9c47b Reviewed-on: https://review.spdk.
nvmf: Add hide_metadata option to nvmf_subsystem_add_ns
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I518c3cc5fdcb16b41f1e3bda1debf5cb3cc9c47b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25413 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
b09de013 | 06-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
nvmf: Get metadata config by not bdev but bdev_desc
This is a preparation to enable no_metadata option to each bdev for DIF insert/strip.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Cha
nvmf: Get metadata config by not bdev but bdev_desc
This is a preparation to enable no_metadata option to each bdev for DIF insert/strip.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I018ccbdba662fa71489ae9664fc9d41bf79cf7d7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25412 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
414f91a0 | 20-Nov-2024 |
Alex Michon <amichon@kalrayinc.com> |
lib/nvmf: Fix double free of connect request
When a duplicated qid is detected, we store the connect request to retry the connect later (in case the other queue with the same qid was in a disconnect
lib/nvmf: Fix double free of connect request
When a duplicated qid is detected, we store the connect request to retry the connect later (in case the other queue with the same qid was in a disconnection process). If we successfully create the qpair on second try, we should clear the connect_req, otherwise it may be confused with a first_fused_req (because of the union). When we receive an IO later, we think that there was a previous fused command, so we abort the fused command (i.e. the connect request). So this command is freed twice.
Change-Id: I66d0e6c813c2b4378bf03ebac68914340737632c Signed-off-by: Alex Michon <amichon@kalrayinc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25460 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com>
show more ...
|
8bbc7b69 | 02-Oct-2024 |
Pawel Baldysiak <pawel.baldysiak@dell.com> |
nvmf: Block ctrlr-only admin cmds if NSID is set
According to NVMe spec rev1.3d, Section4, Figure12: If admin cmd is not using NSID field - host should set it to 0h. Otherwise - such command should
nvmf: Block ctrlr-only admin cmds if NSID is set
According to NVMe spec rev1.3d, Section4, Figure12: If admin cmd is not using NSID field - host should set it to 0h. Otherwise - such command should be returned with INVALID FIELD IN COMMAND error.
With recent change that added passthrough command caps to nvmf - SPDK engine is forwarding all admin commands with NSID set to the bdev - even the incorrectly formed ones. For example - commit firmware with NSID set to 1.
Validate if requested command's opcode is using NSID, Return appropriate error if not - for request with NSID set.
Fixes issue #3564.
Change-Id: Id2fce050eeaf96ff039073f439d6444ecd55c0b3 Signed-off-by: Pawel Baldysiak <pawel.baldysiak@dell.com> Signed-off-by: Marcin Galecki <marcin.galecki@dell.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25151 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
83e8405e | 07-Oct-2024 |
Kalyan Kadiyala <kalyan.kadiyala@broadcom.com> |
nvmf/fc: Qpair disconnect callback: Serialize FC delete connection & close qpair process
An invalid pointer access can happen with KATO and FC delete connection running parallelly. This is a
nvmf/fc: Qpair disconnect callback: Serialize FC delete connection & close qpair process
An invalid pointer access can happen with KATO and FC delete connection running parallelly. This is a regression that got introduced when the qpair disconnect callback was removed.
Change-Id: I8cf4ca3c3d91797e44c501e09222f503e00db4be Signed-off-by: Kalyan Kadiyala <kalyan.kadiyala@broadcom.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25421 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
0eab4c6f | 07-Oct-2024 |
Kalyan Kadiyala <kalyan.kadiyala@broadcom.com> |
nvmf/fc: Validate the ctrlr pointer inside nvmf_fc_req_bdev_abort()
An abort request can come in for a fabric connect command before the ctrlr is initialized. In such a case, accessing the c
nvmf/fc: Validate the ctrlr pointer inside nvmf_fc_req_bdev_abort()
An abort request can come in for a fabric connect command before the ctrlr is initialized. In such a case, accessing the ctrlr pointer without validating it can lead to app crash.
Change-Id: I61b79147330e566d4393a72c6a07d0dd6e032e80 Signed-off-by: Kalyan Kadiyala <kalyan.kadiyala@broadcom.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25420 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
4bcab9fb | 01-Nov-2024 |
John Levon <john.levon@nutanix.com> |
correct kick for CQ full case
We implement basic flow control by not processing any submissions while the CQ is full. However, in interrupt mode, the code was mistakenly attempting to kick ctrlr->in
correct kick for CQ full case
We implement basic flow control by not processing any submissions while the CQ is full. However, in interrupt mode, the code was mistakenly attempting to kick ctrlr->intr_fd - this will not go well, as this is the vfio-user socket fd, not an eventfd. It should be kicking the SQ group's eventfd.
Fixes: 23b518a0 ("nvmf/vfio_user: mitigate cq full race") Signed-off-by: John Levon <john.levon@nutanix.com> Change-Id: Ia3b5ad8ffe4118a620fc3894e40fc95c251cd009 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25401 Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
5abbade7 | 24-Oct-2024 |
John Levon <john.levon@nutanix.com> |
lib/nvmf: clean up MSI-X BAR defines
Use the standard prefix, and add defines for the MSI-X BIR registers.
Signed-off-by: John Levon <john.levon@nutanix.com> Change-Id: Ifb671259eb023cf9d606e03ce8b
lib/nvmf: clean up MSI-X BAR defines
Use the standard prefix, and add defines for the MSI-X BIR registers.
Signed-off-by: John Levon <john.levon@nutanix.com> Change-Id: Ifb671259eb023cf9d606e03ce8b99d282d1bccf6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25365 Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
f220d590 | 30-Oct-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
nvmf: rename passthrough_nsid -> passthru_nsid
This is the spelling we typically use.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I40ad23301fd5be6d02b50abb4209ae1c7aeacc96 R
nvmf: rename passthrough_nsid -> passthru_nsid
This is the spelling we typically use.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I40ad23301fd5be6d02b50abb4209ae1c7aeacc96 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25396 Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: GangCao <gang.cao@intel.com>
show more ...
|
1a158640 | 24-Oct-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
nvmf: use bdev's nsid for admin command passthru
The ID of a namespace exposed by an NVMe-oF subsystem can differ from the nsid of the underlying namespace that backs a given bdev. For instance, th
nvmf: use bdev's nsid for admin command passthru
The ID of a namespace exposed by an NVMe-oF subsystem can differ from the nsid of the underlying namespace that backs a given bdev. For instance, the following:
$ scripts/rpc.py bdev_nvme_attach_controller -b nvme0 ... nvme0n1 nvme0n2 $ scripts/rpc.py nvmf_subsystem_add_ns -n 2 nqn nvme0n1 $ scripts/rpc.py nvmf_subsystem_add_ns -n 1 nqn nvme0n2
results in nvme0n1 being exposed with nsid=2, while nvme0n2 with nsid=1. In this scenario, admin commands targeting a namespace (e.g. identify namespace) would get sent to the wrong namespace.
Fixes: 05632afd77dd ("nvmf: large IU and atomic write unit reporting") Reported-by: Maciej Szulik <maciej.szulik@intel.com> Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ib4f7071afb10691c88def880fadc5f4d7e134b07 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25364 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Maciej Szulik <maciej.szulik@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot
show more ...
|
892c29f4 | 24-Oct-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
nvmf: pass nsid to nvmf_ctrlr_identify_ns()
It's prep for the next patch, which will make it so that we don't always take it from cmd->nsid.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
nvmf: pass nsid to nvmf_ctrlr_identify_ns()
It's prep for the next patch, which will make it so that we don't always take it from cmd->nsid.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I85cc3a38e27c24b3c48e181777bf8defaacf0d4e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25366 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
fb6c49f2 | 24-Oct-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev: add spdk_bdev_get_nvme_nsid()
The id of a namespace is required to be sent in some, but not all, admin commands. So, without it, it's impossible to send an admin command that does require it.
bdev: add spdk_bdev_get_nvme_nsid()
The id of a namespace is required to be sent in some, but not all, admin commands. So, without it, it's impossible to send an admin command that does require it.
This is not a problem for IO commands, as bdev_nvme always fills in nsid for IO command passthru. However, we can't do that for admin commands, as some admin commands require nsid to be cleared or behave differently when it's set to the broadcast value (0xffffffff).
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ic943a1c52cd9043cc09469ad421be2f089aac606 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25363 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com>
show more ...
|
eba178bf | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: add spdk_iobuf_node_cache
We also rename spdk_iobuf_pool to spdk_iobuf_pool_cache.
This makes it more clear that the iobuf_channel has a cache of buffers per NUMA node. Currently there is o
thread: add spdk_iobuf_node_cache
We also rename spdk_iobuf_pool to spdk_iobuf_pool_cache.
This makes it more clear that the iobuf_channel has a cache of buffers per NUMA node. Currently there is only one node, but future changes will extend this to support multiple NUMA nodes when configured.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Id403a089a0de943bd3717e40aba156cbb2368cab Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24517 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
b82fd48a | 19-Jul-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: remove pool parameter from spdk_iobuf_for_each_entry
We always want to iterate across the entire iobuf_channel, so just make the iterator do exactly that, rather than requiring the caller to
thread: remove pool parameter from spdk_iobuf_for_each_entry
We always want to iterate across the entire iobuf_channel, so just make the iterator do exactly that, rather than requiring the caller to have to iterate both of the pools itself.
This both simplifies the calling logic, and prepares for upcoming changes which will support multiple NUMA node caches in one channel.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ieed144671e7ee7cb4d7b7b28e803ea3cae641fee Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24515 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|