History log of /spdk/test/unit/lib/bdev/ (Results 1 – 25 of 949)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
52a4134802-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 ...

06358c2501-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 ...

4b59d78928-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 ...


/spdk/app/fio/bdev/fio_plugin.c
/spdk/app/fio/nvme/fio_plugin.c
/spdk/doc/Doxyfile
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/doc/tracing.md
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/examples/blob/cli/blobcli.c
/spdk/examples/nvme/cmb_copy/cmb_copy.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/dif.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/blob/blobstore.c
/spdk/lib/env_dpdk/init.c
/spdk/lib/event/scheduler_static.c
/spdk/lib/ftl/base/ftl_base_bdev.c
/spdk/lib/lvol/lvol.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/transport.h
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/reduce/reduce.c
/spdk/lib/util/dif.c
/spdk/lib/util/spdk_util.map
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/python/spdk/rpc/nvmf.py
/spdk/python/spdk/rpc/ublk.py
/spdk/scripts/check_format.sh
/spdk/scripts/rpc.py
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/lib/bdev/common_stubs.h
/spdk/test/dma/test_dma/test_dma.c
nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/nvmf.c/nvmf_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/nvmf/transport.c/transport_ut.c
/spdk/test/unit/lib/nvmf/vfio_user.c/vfio_user_ut.c
ff17386320-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 ...

0836dccd30-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 ...

fb1630bf21-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 ...

16e5e50520-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 ...

557f022f23-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 ...

0293556112-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 ...

d47eb51c30-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 ...


/spdk/app/spdk_nvme_perf/perf.c
/spdk/autotest.sh
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/thread/thread/thread_ex.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk_internal/mlx5.h
/spdk/include/spdk_internal/rdma_provider.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/mlx5/mlx5_umr.c
/spdk/lib/mlx5/spdk_mlx5.map
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rdma_provider/Makefile
/spdk/lib/rdma_provider/rdma_provider_mlx5_dv.c
/spdk/lib/rdma_provider/rdma_provider_verbs.c
/spdk/lib/rdma_provider/spdk_rdma_provider.map
/spdk/lib/reduce/reduce.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_internal.h
/spdk/mk/spdk.lib_deps.mk
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.c
/spdk/module/accel/error/accel_error.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/accel/mlx5/accel_mlx5.h
/spdk/module/accel/mlx5/accel_mlx5_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/ocf/ctx.c
/spdk/module/bdev/ocf/ctx.h
/spdk/module/bdev/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/bdev/ocf/volume.h
/spdk/ocf
/spdk/python/spdk/rpc/mlx5.py
/spdk/scripts/rpc.py
/spdk/test/accel/mlx5/accel_mlx5_copy.sh
/spdk/test/accel/mlx5/accel_mlx5_crc32c.sh
/spdk/test/accel/mlx5/accel_mlx5_crypto.sh
/spdk/test/common/autotest_common.sh
/spdk/test/nvme/interrupt.sh
/spdk/test/nvmf/nvmf_target_extra.sh
/spdk/test/nvmf/target/nsid.sh
/spdk/test/scheduler/common.sh
mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
3edf9f1224-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 ...

b8c65ccf25-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 ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/app/fio/bdev/README.md
/spdk/autorun.sh
/spdk/configure
/spdk/doc/jsonrpc.md
/spdk/examples/fsdev/hello_world/hello_fsdev.c
/spdk/include/spdk/env.h
/spdk/include/spdk/fd_group.h
/spdk/include/spdk/fsdev.h
/spdk/include/spdk/fsdev_module.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/stdinc.h
/spdk/include/spdk/thread.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blobfs/tree.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_dpdk/pci_dpdk.c
/spdk/lib/env_dpdk/pci_dpdk.h
/spdk/lib/env_dpdk/pci_dpdk_2207.c
/spdk/lib/env_dpdk/pci_dpdk_2211.c
/spdk/lib/env_dpdk/spdk_env_dpdk.map
/spdk/lib/event/reactor.c
/spdk/lib/fsdev/Makefile
/spdk/lib/fsdev/fsdev.c
/spdk/lib/fsdev/fsdev_io.c
/spdk/lib/fsdev/spdk_fsdev.map
/spdk/lib/fuse_dispatcher/fuse_dispatcher.c
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_pcie_internal.h
/spdk/lib/nvme/nvme_poll_group.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/transport.c
/spdk/lib/thread/Makefile
/spdk/lib/thread/iobuf.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/lib/util/Makefile
/spdk/lib/util/fd_group.c
/spdk/lib/util/spdk_util.map
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/spdk_bdev_nvme.map
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/event/subsystems/iobuf/iobuf.c
/spdk/module/event/subsystems/iobuf/iobuf_rpc.c
/spdk/module/fsdev/aio/fsdev_aio.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/python/spdk/rpc/iobuf.py
/spdk/scripts/rpc.py
/spdk/test/common/autotest_common.sh
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_iobuf.c
/spdk/test/env/memory/memory_ut.c
/spdk/test/nvmf/common.sh
/spdk/test/unit/lib/accel/accel.c/accel_ut.c
nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/fsdev/fsdev.c/fsdev_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_poll_group.c/nvme_poll_group_ut.c
/spdk/test/unit/lib/thread/iobuf.c/iobuf_ut.c
/spdk/test/unit/lib/util/Makefile
/spdk/test/unit/lib/util/fd_group.c/Makefile
/spdk/test/unit/lib/util/fd_group.c/fd_group_ut.c
/spdk/test/unit/unittest.sh
ab76262222-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 ...

1cd4c9b409-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 ...

ed43989a11-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 ...

d70bfa1314-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 ...

ffd9f74615-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 ...

c26697bf11-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 ...

75a12cbf10-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 ...

412fced104-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 ...

f366dac407-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 ...

a5cbb2b125-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 ...

3950cd1b19-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 ...

63e0c25d12-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 ...

8d3f8fb801-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 ...


/spdk/autotest.sh
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf_tracing.md
/spdk/dpdkbuild/Makefile
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/include/spdk/dma.h
/spdk/include/spdk/trace.h
/spdk/lib/accel/accel_sw.c
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/dma/Makefile
/spdk/lib/dma/dma.c
/spdk/lib/dma/spdk_dma.map
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/ioat/ioat.c
/spdk/lib/iscsi/conn.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/rdma_utils/rdma_utils.c
/spdk/lib/reduce/queue_internal.h
/spdk/lib/reduce/reduce.c
/spdk/lib/scsi/scsi.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/mk/spdk.common.mk
/spdk/module/accel/dsa/accel_dsa.c
/spdk/module/accel/iaa/accel_iaa.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/sock/posix/posix.c
/spdk/python/spdk/rpc/bdev.py
/spdk/scripts/keyctl-session-wrapper
/spdk/scripts/perf/pm/collect-cpu-temp
/spdk/scripts/rpc.py
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/cpp_headers/Makefile
/spdk/test/nvmf/host/auth.sh
/spdk/test/nvmf/target/auth.sh
/spdk/test/nvmf/target/interrupt.sh
nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/idxd/idxd.c/idxd_ut.c
/spdk/test/unit/lib/reduce/Makefile
/spdk/test/unit/lib/reduce/queue_internal.h/Makefile
/spdk/test/unit/lib/reduce/queue_internal.h/queue_internal_ut.c
/spdk/test/unit/unittest.sh

12345678910>>...38