52a41348 | 02-Dec-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
bdev: do not retry nomem I/Os during aborting them
If bdev module reports ENOMEM for the first I/O in an I/O channel, all subsequent I/Os would be queued in the nomem list. In this case, io_outstand
bdev: do not retry nomem I/Os during aborting them
If bdev module reports ENOMEM for the first I/O in an I/O channel, all subsequent I/Os would be queued in the nomem list. In this case, io_outstanding and nomem_threshold would remain 0, allowing nomem I/Os to be resubmitted unconditionally.
Now, a coming reset could trigger nomem I/O resubmission when aborting nomem I/Os in the following path:
``` bdev_reset_freeze_channel -> bdev_abort_all_queued_io -> spdk_bdev_io_complete -> _bdev_io_handle_no_mem -> bdev_ch_retry_io ```
Both bdev_abort_all_queued_io and bdev_ch_retry_io modifies nomem_io list in this path. Thus, there might be I/Os that are firstly submitted to the underlying device by bdev_ch_retry_io, and then get aborted by bdev_abort_all_queued_io, resulting in double-completion of these I/Os later.
To fix this, just do not resubmit nomem I/Os when aborting is in progress.
Change-Id: I1f66262216885779d1a883ec9250d58a13d8c228 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25522 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
06358c25 | 01-Nov-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/nvme: use poll_group's fd_group to register interrupts
This eliminates the need for nesting epoll instances in the kernel and allows us to skip one epoll_wait() call. It shows an around 5-10%
bdev/nvme: use poll_group's fd_group to register interrupts
This eliminates the need for nesting epoll instances in the kernel and allows us to skip one epoll_wait() call. It shows an around 5-10% latency improvement.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Idd6ed70d41760566b82246c8af59016fa80a0610 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25469 Reviewed-by: Ben Walker <ben@nvidia.com> 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@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
show more ...
|
4b59d789 | 28-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Use nbdev always for local nvme_bdev pointer variables
Previously, for the local nvme_bdev pointer, different names, nvme_disk, bdev, and nbdev were used. No special preference but nbdev
bdev/nvme: Use nbdev always for local nvme_bdev pointer variables
Previously, for the local nvme_bdev pointer, different names, nvme_disk, bdev, and nbdev were used. No special preference but nbdev has been used widely. Let's use nbdev always for local nvme_bdev pointer variables.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I1c076b553587b576305bfbb7b25f97fabb83ce02 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25482 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
ff173863 | 20-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
ut/bdev: Remove duplication with many stups among unit test files
Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test files into the new file common_stubs.h in test/common/lib/bdev.
ut/bdev: Remove duplication with many stups among unit test files
Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test files into the new file common_stubs.h in test/common/lib/bdev.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ic3d75821bf828e196fa576a18feae90d8bd2ffeb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25455 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> 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> Community-CI: Mellanox Build Bot
show more ...
|
0836dccd | 30-Sep-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Add spdk_dif_ctx and spdk_dif_error into spdk_bdev_io
If the generic bdev layer and the underlying bdev module use T10 DIF APIs of the accel framework for T10 DIF, DIF context and DIF error st
bdev: Add spdk_dif_ctx and spdk_dif_error into spdk_bdev_io
If the generic bdev layer and the underlying bdev module use T10 DIF APIs of the accel framework for T10 DIF, DIF context and DIF error structures must be persistent while executing the APIs.
As a preparation, embed spdk_dif_ctx structure and spdk_dif_error structure into spdk_bdev_io structure, and initialize both at the start of the I/O submission if the DIF type of the bdev is not disabled or no_metadata option is enabled.
These embedded data structure will be able to use for other purposes too.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I4e61222034bb33d4dd862692a878bd283b5d32d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23741 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@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
fb1630bf | 21-Aug-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Use data_block_size for upper layer buffer if hide_metadata is true
Add two helper functions, bdev_desc_get_block_size() and bdev_io_get_block_size().
Then, use these functions for buffers of
bdev: Use data_block_size for upper layer buffer if hide_metadata is true
Add two helper functions, bdev_desc_get_block_size() and bdev_io_get_block_size().
Then, use these functions for buffers of upper layer.
The following patches will do DIF insert/strip for read/write if no_metadata is true.
bdev_io_update_io_stat() keeps using bdev->blocklen because I/O to the underlying bdev module uses bdev->blocklen regardless of the no_metadata option.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I46cedb846a4362ba75742d4e543df466ef43f112 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24629 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
16e5e505 | 20-Nov-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Add spdk_bdev_open_ext_v2() to support per-open options
We will add the DIF insert/strip feature into the generic bdev layer. We want to make the feature option per bdev open.
There exists sp
bdev: Add spdk_bdev_open_ext_v2() to support per-open options
We will add the DIF insert/strip feature into the generic bdev layer. We want to make the feature option per bdev open.
There exists spdk_bdev_open_async_opts. However it is only for spdk_bdev_open_async(). spdk_bdev_open_async() is not generally usable.
spdk_bdev_open_ext() does not receive any option structure via parameter.
It is not practical to change the existing spdk_bdev_open_ext().
Hence, add a new API spdk_bdev_open_ext_v2() with spdk_bdev_open_opts structure. We find many examples to use v2 in DPDK.
Add hide_metadata option as the first option of the spdk_bdev_open_opts structure.
Last 7 bytes in spdk_bdev_open_opts structure are unused and are not initialized by the caller. To zero out these clearly with minimal user effort, add spdk_bdev_open_opts_init() for initialization.
opts in spdk_bdev_desc is a hot data. Put it into the first cache line in spdk_bdev_desc.
Furthermore, add simple unit test for verification.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I38d93ffbb2becc59e57f9a7163defd5f8f201f07 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23771 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.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 ...
|
557f022f | 23-Jul-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev: Change 1st parameter of bdev_bytes_to_blocks from bdev to desc
The following patches will add option to spdk_bdev_desc and it will affect block size. As a preparation, change the first paramet
bdev: Change 1st parameter of bdev_bytes_to_blocks from bdev to desc
The following patches will add option to spdk_bdev_desc and it will affect block size. As a preparation, change the first parameter of bdev_bytes_to_blocks from bdev pointer to desc pointer.
Even before this patch, the caller used spdk_bdev_desc_get_bdev() as a function parameter. Hence, this is a good clean up.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I4b84351bce13b109c17b5477e2711ed632208178 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24628 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.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 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
02935561 | 12-Nov-2024 |
Ed Reed <edreed@microsoft.com> |
bdev_ut: add manual examine bdev unit test case
This commit adds a unit test case for the manual Bdev examination workflow and validates that a Bdev can be re-registered under the same name when the
bdev_ut: add manual examine bdev unit test case
This commit adds a unit test case for the manual Bdev examination workflow and validates that a Bdev can be re-registered under the same name when the autoexamine Bdev option is disabled.
Change-Id: Ideefe1c60fe7efb4191caca88c3551674781f987 Signed-off-by: Ed Reed <edreed@microsoft.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25425 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
d47eb51c | 30-Oct-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
bdev: fix a race between reset start and complete
There is a race between reset start and complete:
1. reset_1 is completing. It clears bdev->internal.reset_in_progress and sends unfreeze_channe
bdev: fix a race between reset start and complete
There is a race between reset start and complete:
1. reset_1 is completing. It clears bdev->internal.reset_in_progress and sends unfreeze_channel messages to remove queued resets of all channels. 2. reset_2 is starting. As bdev->internal.reset_in_progress has been cleared, it is inserted to queued_resets list and starts to freeze channels. 3. reset_1's unfreeze_channel message removes reset_2 from queued_resets list. 4. reset_2 finishes freezing channels, but the corresponding bdev_io has gone, hence resulting in segmentation fault.
To fix this, we use per-bdev queued_resets list instead of per-channel ones, and nullify bdev->internal.reset_in_progress after unfreezing bdev channels. In this way, we can assure that all resets submitted during an in-progress reset can be queued and completed correctly.
Besides, we do not insert the reset that is submitted to the underlying device into the queued_resets list, so that the list can be processsed cleanly.
Change-Id: I7cb14d790c1e20cea86e4829555d04acc408ee28 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25371 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: GangCao <gang.cao@intel.com>
show more ...
|
3edf9f12 | 24-Oct-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Fix race bug between clear_pending_resets and reset_ctrlr_complete()
This was a very long term potential bug.
bdev_nvme_reset/failover_ctrlr() cleared pending reset and then completed re
bdev/nvme: Fix race bug between clear_pending_resets and reset_ctrlr_complete()
This was a very long term potential bug.
bdev_nvme_reset/failover_ctrlr() cleared pending reset and then completed reset. However, if external reset request was submitted from the bdev layer between pending reset clear and reset completion, the external reset request lost wakeup.
Fix this bug by moving pending reset list from per nvme_ctrlr_channel to per nvme_ctrlr and move operation to clear pending resets into the same lock as reset completion.
Adjust existing unit test cases.
Include unit test for reproduction into this patch.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I09030b0fb118f65a16d6e23bed53e1755f59bffb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25291 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
b8c65ccf | 25-Sep-2024 |
Ankit Kumar <ankit.kumar@samsung.com> |
bdev/nvme: interrupt mode for PCIe transport
Register SPDK_INTERRUPT_EVENT_IN on the internal epoll file descriptor of the nvme poll group. At the time of I/O qpair creation, interrupt events get re
bdev/nvme: interrupt mode for PCIe transport
Register SPDK_INTERRUPT_EVENT_IN on the internal epoll file descriptor of the nvme poll group. At the time of I/O qpair creation, interrupt events get registered with the internal epoll file descriptor of the nvme poll group. This allows us to collectively wait for interrupt events on all the I/O qpair fds.
Regsiter SPDK_INTERRUPT_EVENT_IN on the admin queue file descriptor.
Change-Id: Ic36482c3b946b692413745c3603568f45acd4957 Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25081 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
ab762622 | 22-Oct-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Add multipath info (controller ID) to NVME_CTRLR_*LOG()
Add controller ID to NVME_CTRLR_*LOG() using a new API spdk_nvme_ctrlr_get_id() as same as we did for NVMe driver.
Furthermore, th
bdev/nvme: Add multipath info (controller ID) to NVME_CTRLR_*LOG()
Add controller ID to NVME_CTRLR_*LOG() using a new API spdk_nvme_ctrlr_get_id() as same as we did for NVMe driver.
Furthermore, this patch adds the following.
Controller ID is newly given when controller is created. Controller ID can be changed when controller is reconnected. If we add logs for such cases and the logs include IP address and port, we can associate IP address and port with controller ID. Logs will be more helpful.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I8445d64fadb1a7b4cd9ec681beae8b6e27072574 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25298 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
1cd4c9b4 | 09-Oct-2024 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/nvme: Add more logs for spdk_bdev_reset
Sequence to reset controller is very complex. Trouble shooting is very difficult. Add more logs to help trouble shooting.
Signed-off-by: Shuhei Matsumot
bdev/nvme: Add more logs for spdk_bdev_reset
Sequence to reset controller is very complex. Trouble shooting is very difficult. Add more logs to help trouble shooting.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ic28ccc6cda4889b4f2209775aede378aafd4da2c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25180 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
ed43989a | 11-Oct-2024 |
Vasilii Ivanov <iwanovvvasilij@gmail.com> |
bdev/crypto: support resize of base bdev
Add handling of SPDK_BDEV_EVENT_RESIZE event for crypto bdev. After obtaining it, resize crypto bdev to base bdev size and pass RESIZE event furter down the
bdev/crypto: support resize of base bdev
Add handling of SPDK_BDEV_EVENT_RESIZE event for crypto bdev. After obtaining it, resize crypto bdev to base bdev size and pass RESIZE event furter down the bdev stack.
Fixes #3549
Change-Id: Ie2827622e39f5ac820fa0372a36fd1a0377c9ebf Signed-off-by: Vasilii Ivanov <iwanovvvasilij@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25195 Reviewed-by: Jim Harris <jim.harris@samsung.com> 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 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
d70bfa13 | 14-Oct-2024 |
Yankun Li <yankun@staff.sina.com> |
bdev/compress: Print allocated_io_units for vol
Change-Id: I456cad3fa7ef23f29d846187614aed414bf1df65 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spd
bdev/compress: Print allocated_io_units for vol
Change-Id: I456cad3fa7ef23f29d846187614aed414bf1df65 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25208 Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Alliswell <hisunzhenliang@outlook.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
show more ...
|
ffd9f746 | 15-Oct-2024 |
Allen Zhu <allenzhu@nvidia.com> |
bdev/nvme: Fix crash due to NULL io_path
Before calling _bdev_nvme_reset_io(), bio->io_path will be set to NULL. An assert has already been added to guarentee it.
But in _bdev_nvme_reset_io(), if e
bdev/nvme: Fix crash due to NULL io_path
Before calling _bdev_nvme_reset_io(), bio->io_path will be set to NULL. An assert has already been added to guarentee it.
But in _bdev_nvme_reset_io(), if error happens before setting bio->io_path, the caller will keep it NULL.
For example, in bdev_nvme_freeze_bdev_channel_done, it will call bdev_nvme_reset_io_continue with NULL io_path. In this case, it will crash because prev_io_path is still NULL in _bdev_nvme_reset_io_continue.
Change-Id: I97c28167322af5ad9df9c293f00d61b035e33268 Signed-off-by: Allen Zhu <allenzhu@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25222 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
c26697bf | 11-Oct-2024 |
Slawomir Ptak <slawomir.ptak@intel.com> |
bdev_ut: Comparison operator and tests fixes
Operator fix and fixes for num blocks in the I/O split tests, to match the expected and requested values.
Change-Id: I67c7211c5f8cae409d078baaefbeb8851e
bdev_ut: Comparison operator and tests fixes
Operator fix and fixes for num blocks in the I/O split tests, to match the expected and requested values.
Change-Id: I67c7211c5f8cae409d078baaefbeb8851ed71f48 Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25199 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Alliswell <hisunzhenliang@outlook.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
75a12cbf | 10-Oct-2024 |
Slawomir Ptak <slawomir.ptak@intel.com> |
test: Comparison operator fixes
Change-Id: I1296b19b590c2c6cbb75b9362e441cd6219d7a9f Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2
test: Comparison operator fixes
Change-Id: I1296b19b590c2c6cbb75b9362e441cd6219d7a9f Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25198 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
412fced1 | 04-Sep-2024 |
Yalong Wang <yalong9@staff.sina.com.cn> |
bdev/compress: unmap support.
Change-Id: Ibdb98f02725615532ebac2e5536d5db55d76c886 Signed-off-by: Yalong Wang <yalong9@staff.sina.com.cn> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/247
bdev/compress: unmap support.
Change-Id: Ibdb98f02725615532ebac2e5536d5db55d76c886 Signed-off-by: Yalong Wang <yalong9@staff.sina.com.cn> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24798 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
f366dac4 | 07-Oct-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
bdev/nvme: removed 'multipath' param from spdk_bdev_nvme_create()
Changed 'spdk_bdev_nvme_create' API function, the 'multipath prameter was removed as it is redundant to 'multipath' field in spdk_bd
bdev/nvme: removed 'multipath' param from spdk_bdev_nvme_create()
Changed 'spdk_bdev_nvme_create' API function, the 'multipath prameter was removed as it is redundant to 'multipath' field in spdk_bdev_nvme_ctrlr_opts structure passed as a parameter to this function. If multipathing shall be enabled for nvme bdev, the 'bdev_opts.multipath' field shall be set to 'true'. When 'bdev_opts.multipath' is set to 'false', failover mode is enabled.
Change-Id: I3ba5ac159b4c97a4d8566257b0505b1154a158f8 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25161 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
a5cbb2b1 | 25-Sep-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
bdev/nvme: ctrl config consistency check
All controllers created with the same name shall be configured either for multipath or for failover. Otherwise we have configuration mismatch. This patch add
bdev/nvme: ctrl config consistency check
All controllers created with the same name shall be configured either for multipath or for failover. Otherwise we have configuration mismatch. This patch adds cofiguration consistency check, and all controllers created with the same name will be forced to have consistent setting, either '-x multipath' or '-x failover'. No mixing of '-x' options is allowed. Deprecation warning has been removed as we are now implementing the advertised change.
Change-Id: I1bc472f95950e4326ca67bed33a1bf9523683843 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25028 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
3950cd1b | 19-Sep-2024 |
Evgeniy Kochetov <evgeniik@nvidia.com> |
bdev/nvme: Change spdk_bdev_reset() to succeed if at least one nvme_ctrlr is reconnected
This patch fixes issue with spdk_bdev_reset() on multipath nvme bdev with at least one but not all failed nvm
bdev/nvme: Change spdk_bdev_reset() to succeed if at least one nvme_ctrlr is reconnected
This patch fixes issue with spdk_bdev_reset() on multipath nvme bdev with at least one but not all failed nvme_ctrlrs. For multipath nvme bdev reset sequentially reconnects all nvme_ctrlrs. Before this patch, if at least one of nvme_ctrlrs can't be reconnected, the whole reset request is completed with errors. It doesn't make sense because bdev may still be operational. This patch changes behaviour to complete reset request successfully if at least one nvme_ctrlr was reconnected. Reset will still be failed if all nvme_ctrlrs failed to reconnect.
Change-Id: I992a9a44f26f45970f9daa120a93be9bb4604091 Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24974 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: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
63e0c25d | 12-Sep-2024 |
Vasilii Ivanov <iwanovvvasilij@gmail.com> |
bdev: add reset_mode to bdev_get_iostat
In current implementation of resetting stats explicit bdev_reset_iostat call is needed. It is not optimal for usecases when stat is obtained periodically and
bdev: add reset_mode to bdev_get_iostat
In current implementation of resetting stats explicit bdev_reset_iostat call is needed. It is not optimal for usecases when stat is obtained periodically and then resetted, because some stats may be lost in between of get and reset. Introduce new option for bdev_get_iostat that allows to reset stat right after obtaining it.
Fixes #3525
Change-Id: I77a5ea9310718c25e678336e2450a04fb582c050 Signed-off-by: Vasilii Ivanov <iwanovvvasilij@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24900 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
8d3f8fb8 | 01-Jul-2024 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/nvme: add method for changing DH-HMAC-CHAP keys
This method will change the keys on all multipath controllers and force reauthentication on all qpairs. The high level flow looks like this:
1
bdev/nvme: add method for changing DH-HMAC-CHAP keys
This method will change the keys on all multipath controllers and force reauthentication on all qpairs. The high level flow looks like this:
1) Set the keys on the first multipath controller. 2) Authenticate admin qpair. 3) Go over all IO channels and authenticate IO qpairs on each one. 4) If there's no next multipath controller, we're done, otherwise set keys on that controller and go to 2).
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Iec0de19f1a9326cf32c9b27acaab117100616770 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24236 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|