History log of /spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/ (Results 76 – 100 of 221)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
2826ef1308-Aug-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Fail reset sequence immediately if ctrlr is already removed.

After a controller was hot-removed, if a reset sequence started to
the controller, spdk_nvme_ctrlr_disconnect() failed and cau

bdev/nvme: Fail reset sequence immediately if ctrlr is already removed.

After a controller was hot-removed, if a reset sequence started to
the controller, spdk_nvme_ctrlr_disconnect() failed and caused core
dump in debug mode.

When implemented, how to cause the failure and how to process the
failure were not clear. Hence assert was added to detect the
failure.

We know how we cause the failure now. Let's handle the failure
appropriately.

If spdk_nvme_ctrlr_disconnect() fails, we are on the nvme_ctrlr->thread.
Hence call bdev_nvme_reset_complete() with failure immediately.

Even if spdk_nvme_ctrlr_disconnect() completes synchronously, the
completion callback is executed asynchronously when polling an adminq.

Hence set the completion callback only if spdk_nvme_ctrlr_disconnect()
succeeds.

Fixes issue #2632

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I11f61853aba9eca2515592f964a291e59def7247
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13892
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_top/spdk_top.c
/spdk/app/trace_record/trace_record.c
/spdk/autopackage.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/ftl.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf_tracing.md
/spdk/docker/README.md
/spdk/docker/build_base/Dockerfile
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/event.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/rpc.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/trace.h
/spdk/lib/accel/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blob/spdk_blob.map
/spdk/lib/env_dpdk/env_internal.h
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/event/app.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_band_ops.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_l2p.c
/spdk/lib/ftl/ftl_l2p.h
/spdk/lib/ftl/ftl_l2p_cache.c
/spdk/lib/ftl/ftl_l2p_cache.h
/spdk/lib/ftl/ftl_layout.c
/spdk/lib/ftl/ftl_layout.h
/spdk/lib/ftl/ftl_nv_cache.c
/spdk/lib/ftl/ftl_nv_cache.h
/spdk/lib/ftl/ftl_p2l.c
/spdk/lib/ftl/ftl_sb.c
/spdk/lib/ftl/ftl_sb.h
/spdk/lib/ftl/ftl_sb_common.h
/spdk/lib/ftl/ftl_sb_current.h
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/ftl/ftl_trace.h
/spdk/lib/ftl/mngt/ftl_mngt.h
/spdk/lib/ftl/mngt/ftl_mngt_band.c
/spdk/lib/ftl/mngt/ftl_mngt_l2p.c
/spdk/lib/ftl/mngt/ftl_mngt_md.c
/spdk/lib/ftl/mngt/ftl_mngt_misc.c
/spdk/lib/ftl/mngt/ftl_mngt_recovery.c
/spdk/lib/ftl/mngt/ftl_mngt_shutdown.c
/spdk/lib/ftl/mngt/ftl_mngt_startup.c
/spdk/lib/ftl/mngt/ftl_mngt_steps.h
/spdk/lib/ftl/mngt/ftl_mngt_upgrade.c
/spdk/lib/ftl/spdk_ftl.map
/spdk/lib/ftl/upgrade/ftl_band_upgrade.c
/spdk/lib/ftl/upgrade/ftl_chunk_upgrade.c
/spdk/lib/ftl/upgrade/ftl_layout_upgrade.c
/spdk/lib/ftl/upgrade/ftl_layout_upgrade.h
/spdk/lib/ftl/upgrade/ftl_p2l_upgrade.c
/spdk/lib/ftl/upgrade/ftl_sb_prev.h
/spdk/lib/ftl/upgrade/ftl_sb_upgrade.c
/spdk/lib/ftl/upgrade/ftl_sb_upgrade.h
/spdk/lib/ftl/utils/ftl_conf.c
/spdk/lib/ftl/utils/ftl_md.c
/spdk/lib/ftl/utils/ftl_mempool.c
/spdk/lib/init/json_config.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/spdk_nvmf.map
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rpc/Makefile
/spdk/lib/rpc/rpc.c
/spdk/lib/rpc/spdk_rpc.map
/spdk/lib/trace/trace.c
/spdk/lib/trace_parser/trace.cpp
/spdk/lib/util/Makefile
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/virtio/virtio_vhost_user.c
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.unittest.mk
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl.h
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/iscsi/bdev_iscsi.h
/spdk/module/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/module/bdev/lvol/vbdev_lvol.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/rbd/bdev_rbd.c
/spdk/module/bdev/xnvme/bdev_xnvme.c
/spdk/module/sock/posix/posix.c
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/sma/__init__.py
/spdk/python/spdk/sma/common.py
/spdk/python/spdk/sma/device/nvmf_tcp.py
/spdk/python/spdk/sma/device/nvmf_vfiouser.py
/spdk/python/spdk/sma/device/vhost_blk.py
/spdk/python/spdk/sma/proto/sma.proto
/spdk/python/spdk/sma/sma.py
/spdk/python/spdk/sma/volume/__init__.py
/spdk/python/spdk/sma/volume/crypto.py
/spdk/python/spdk/sma/volume/crypto_bdev.py
/spdk/python/spdk/sma/volume/volume.py
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/config.json
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/pm/collect-bmc-pm
/spdk/scripts/perf/vhost/run_vhost_test.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/rpc.py
/spdk/scripts/sma.py
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/nbd_common.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_sock.c
/spdk/test/common/skipped_tests.txt
/spdk/test/compress/compress.sh
/spdk/test/env/memory/memory_ut.c
/spdk/test/external_code/test_make.sh
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/config/fio/unmap.fio
/spdk/test/ftl/config/fio/write_after_write.fio
/spdk/test/ftl/dirty_shutdown.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/restore.sh
/spdk/test/ftl/trim.sh
/spdk/test/ftl/write_after_write.sh
/spdk/test/fuzz/autofuzz.sh
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/overhead/overhead.c
/spdk/test/nvme/reset/reset.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/abort_qd_sizes.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/multipath.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_vfio_user.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/nvmf/target/tls.sh
/spdk/test/scheduler/cgroups.sh
/spdk/test/scheduler/common.sh
/spdk/test/sma/common.sh
/spdk/test/sma/crypto.sh
/spdk/test/sma/plugins.sh
/spdk/test/sma/plugins/plugin1/__init__.py
/spdk/test/sma/plugins/plugin2/__init__.py
/spdk/test/sma/sma.sh
/spdk/test/sma/vfiouser_qemu.sh
/spdk/test/sma/vhost_blk.sh
/spdk/test/spdkcli/common.sh
/spdk/test/spdkcli/iscsi.sh
/spdk/test/spdkcli/tcp.sh
/spdk/test/spdkcli/virtio.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/part.c/part_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/ftl/Makefile
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_layout_upgrade/.gitignore
/spdk/test/unit/lib/ftl/ftl_layout_upgrade/Makefile
/spdk/test/unit/lib/ftl/ftl_layout_upgrade/ftl_layout_upgrade_ut.c
/spdk/test/unit/lib/ftl/ftl_sb/.gitignore
/spdk/test/unit/lib/ftl/ftl_sb/Makefile
/spdk/test/unit/lib/ftl/ftl_sb/ftl_sb_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/vfio_user.c/vfio_user_ut.c
/spdk/test/unit/lib/rpc/rpc.c/rpc_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vfio_user/autotest.config
/spdk/test/vfio_user/vfio_user_fio/vfio_user_fio.sh
/spdk/test/vfio_user/vfio_user_restart_vm/vfio_user_restart_vm.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/fuzz/fuzz.sh
dd34605828-Mar-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Rename check_multipath_params by check_io_error_resiliency_params

These checked parameters are necessary themselves even for single path
configuration.

Signed-off-by: Shuhei Matsumoto <s

bdev/nvme: Rename check_multipath_params by check_io_error_resiliency_params

These checked parameters are necessary themselves even for single path
configuration.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ie1eb2f51eeec1dbc634c6bae462a41d4c209d6ac
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12052
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Dong Yi <yidong0635@126.com>
Community-CI: Mellanox Build Bot

show more ...


/spdk/CHANGELOG.md
/spdk/dpdkbuild/Makefile
/spdk/examples/nvme/abort/abort.c
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/reconnect/reconnect.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/hexlify.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/event/reactor.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_band_ops.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_internal.h
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_l2p.c
/spdk/lib/ftl/ftl_l2p_cache.c
/spdk/lib/ftl/ftl_layout.c
/spdk/lib/ftl/ftl_layout.h
/spdk/lib/ftl/ftl_nv_cache.c
/spdk/lib/ftl/ftl_nv_cache.h
/spdk/lib/ftl/ftl_p2l.c
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_rq.c
/spdk/lib/ftl/ftl_sb_common.h
/spdk/lib/ftl/ftl_sb_current.h
/spdk/lib/ftl/ftl_writer.c
/spdk/lib/ftl/ftl_writer.h
/spdk/lib/ftl/mngt/ftl_mngt_band.c
/spdk/lib/ftl/mngt/ftl_mngt_bdev.c
/spdk/lib/ftl/mngt/ftl_mngt_md.c
/spdk/lib/ftl/mngt/ftl_mngt_misc.c
/spdk/lib/ftl/mngt/ftl_mngt_p2l.c
/spdk/lib/ftl/mngt/ftl_mngt_recovery.c
/spdk/lib/ftl/mngt/ftl_mngt_shutdown.c
/spdk/lib/ftl/mngt/ftl_mngt_startup.c
/spdk/lib/ftl/mngt/ftl_mngt_steps.h
/spdk/lib/ftl/utils/ftl_md.h
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/util/Makefile
/spdk/lib/util/hexlify.c
/spdk/lib/util/spdk_util.map
/spdk/lib/virtio/virtio_vhost_user.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/rbd/bdev_rbd.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/test/common/autotest_common.sh
/spdk/test/compress/compress.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/nvme/connect_stress/connect_stress.c
/spdk/test/nvme/fused_ordering/fused_ordering.c
/spdk/test/nvme/overhead/overhead.c
/spdk/test/openstack/run_openstack_tests.sh
bdev_nvme_ut.c
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/json/json_util.c/json_util_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/vfiouserbuild/Makefile
34c48f1b08-Aug-2022 Ben Walker <benjamin.walker@intel.com>

accel: Do not refer to the "framework" as "engine"

The word engine was both used (interchangeably with module) to refer to
the things that plug into the framework and to the framework itself.
This p

accel: Do not refer to the "framework" as "engine"

The word engine was both used (interchangeably with module) to refer to
the things that plug into the framework and to the framework itself.
This patch eliminates all use of the word engine that meant the
framework. It leaves uses of the word that meant "module".

Change-Id: I6b9b50e2f045ac39f2a74d0152ee8d6269be4bd1
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13918
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


/spdk/CHANGELOG.md
/spdk/autotest.sh
/spdk/configure
/spdk/doc/jsonrpc.md
/spdk/doc/vmd.md
/spdk/dpdkbuild/Makefile
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/accel.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/env.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/json.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/pci_ids.h
/spdk/include/spdk/scheduler.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/vmd.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel.c
/spdk/lib/accel/accel_rpc.c
/spdk/lib/accel/accel_sw.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/blob/blob_bs_dev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/zeroes.c
/spdk/lib/blobfs/Makefile
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_dpdk/spdk_env_dpdk.map
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_l2p.c
/spdk/lib/ftl/ftl_l2p.h
/spdk/lib/ftl/ftl_l2p_cache.c
/spdk/lib/ftl/ftl_l2p_cache.h
/spdk/lib/ftl/ftl_l2p_flat.c
/spdk/lib/ftl/ftl_l2p_flat.h
/spdk/lib/ftl/ftl_nv_cache.c
/spdk/lib/ftl/ftl_nv_cache.h
/spdk/lib/ftl/mngt/ftl_mngt_l2p.c
/spdk/lib/ftl/mngt/ftl_mngt_md.c
/spdk/lib/ftl/mngt/ftl_mngt_self_test.c
/spdk/lib/ftl/mngt/ftl_mngt_shutdown.c
/spdk/lib/ftl/mngt/ftl_mngt_startup.c
/spdk/lib/ftl/mngt/ftl_mngt_steps.h
/spdk/lib/ftl/utils/ftl_conf.c
/spdk/lib/init/json_config.c
/spdk/lib/json/json_util.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_quirks.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/sock/sock.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/vmd/Makefile
/spdk/lib/vmd/spdk_vmd.map
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd_internal.h
/spdk/mk/spdk.lib_deps.mk
/spdk/module/accel/dsa/accel_engine_dsa.c
/spdk/module/accel/iaa/accel_engine_iaa.c
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/blob/bdev/Makefile
/spdk/module/blob/bdev/blob_bdev.c
/spdk/module/event/subsystems/accel/accel.c
/spdk/module/event/subsystems/vmd/event_vmd.h
/spdk/module/event/subsystems/vmd/vmd.c
/spdk/module/event/subsystems/vmd/vmd_rpc.c
/spdk/python/spdk/rpc/vmd.py
/spdk/scripts/rpc.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/accel/accel.sh
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/nonarray.json
/spdk/test/bdev/nonenclosed.json
/spdk/test/blobstore/blob_io_wait/blob_io_wait.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/lib/test_sock.c
/spdk/test/compress/compress.sh
/spdk/test/dpdk_memory_utility/test_dpdk_mem_info.sh
/spdk/test/env/pci/pci_ut.c
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/ftl/restore.sh
/spdk/test/fuzz/autofuzz_iscsi.sh
/spdk/test/fuzz/autofuzz_nvmf.sh
/spdk/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/ext4test/ext4test.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/fuzz/fuzz.sh
/spdk/test/iscsi_tgt/initiator/initiator.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/multiconnection/multiconnection.sh
/spdk/test/iscsi_tgt/nvme_remote/fio_remote_nvme.sh
/spdk/test/iscsi_tgt/pmem/iscsi_pmem.sh
/spdk/test/iscsi_tgt/qos/qos.sh
/spdk/test/iscsi_tgt/rbd/rbd.sh
/spdk/test/iscsi_tgt/reset/reset.sh
/spdk/test/iscsi_tgt/resize/resize.sh
/spdk/test/nvme/compliance/compliance.sh
/spdk/test/nvme/nvme_opal.sh
/spdk/test/nvme/sw_hotplug.sh
/spdk/test/nvmf/host/aer.sh
/spdk/test/nvmf/host/bdevperf.sh
/spdk/test/nvmf/host/discovery.sh
/spdk/test/nvmf/host/dma.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/identify.sh
/spdk/test/nvmf/host/multicontroller.sh
/spdk/test/nvmf/host/target_disconnect.sh
/spdk/test/nvmf/target/abort.sh
/spdk/test/nvmf/target/bdev_io_wait.sh
/spdk/test/nvmf/target/bdevio.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/nvmf/target/connect_stress.sh
/spdk/test/nvmf/target/delete_subsystem.sh
/spdk/test/nvmf/target/discovery.sh
/spdk/test/nvmf/target/fabrics_fuzz.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fused_ordering.sh
/spdk/test/nvmf/target/host_management.sh
/spdk/test/nvmf/target/identify_passthru.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nmic.sh
/spdk/test/nvmf/target/nvme_cli.sh
/spdk/test/nvmf/target/nvmf_example.sh
/spdk/test/nvmf/target/perf_adq.sh
/spdk/test/nvmf/target/queue_depth.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/nvmf/target/srq_overwhelm.sh
/spdk/test/nvmf/target/vfio_user_fuzz.sh
/spdk/test/nvmf/target/zcopy.sh
/spdk/test/ocf/integrity/bdevperf-iotypes.sh
/spdk/test/ocf/integrity/stats.sh
/spdk/test/sma/discovery.sh
/spdk/test/unit/lib/accel/accel.c/Makefile
/spdk/test/unit/lib/accel/accel.c/accel_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvme/nvme_transport.c/nvme_transport_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vmd/vmd.sh
/spdk/vfiouserbuild/Makefile
03f8da8826-Aug-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Set multipath policy correctly when creating nvme_bdev_channel

bdev_nvme_create_bdev_channel_cb() did not initialized the multipath
policy of the newly created channel. 0 was active-passi

bdev/nvme: Set multipath policy correctly when creating nvme_bdev_channel

bdev_nvme_create_bdev_channel_cb() did not initialized the multipath
policy of the newly created channel. 0 was active-passive and hence
multipath policy was always initialized to active-passive.

Fix the bug and add unit tests for verification.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I6e44108740da4b9ff72311ae4b5500558c65c5c3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14225
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>

show more ...

db75f4b626-Aug-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Remove admin passthrough retry and failover

Admin passthrough supported retry and failover as same as I/O by
using the bdev_retry_count. However, doing retry or failover for
admin passthr

bdev/nvme: Remove admin passthrough retry and failover

Admin passthrough supported retry and failover as same as I/O by
using the bdev_retry_count. However, doing retry or failover for
admin passthrough may have unexpected side effects and its value
is not clear. The safest way is to limit retry and failover for I/O.
If we need to support retry and failover for admin passthrough,
restore the code and add a new option bdev_admin_retry_count.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I680513a40a80041f6ea6f546c74c672f2a81812d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14227
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


/spdk/.gitmodules
/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_top/spdk_top.c
/spdk/autobuild.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/Doxyfile
/spdk/doc/accel_fw.md
/spdk/doc/bdev.md
/spdk/doc/distributions.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/doc/nvmf_multipath_howto.md
/spdk/doc/performance_reports.md
/spdk/doc/usdt.md
/spdk/doc/vhost_processing.md
/spdk/dpdk
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/include/spdk/accel.h
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/event.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/lvol.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/trace.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/include/spdk_internal/lvolstore.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/rdma.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/accel_engine_rpc.c
/spdk/lib/accel/accel_internal.h
/spdk/lib/accel/accel_sw.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/blob/Makefile
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blob/spdk_blob.map
/spdk/lib/blobfs/blobfs.c
/spdk/lib/blobfs/cache_tree.h
/spdk/lib/blobfs/tree.c
/spdk/lib/event/Makefile
/spdk/lib/event/app.c
/spdk/lib/event/reactor.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_band_ops.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_internal.h
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_l2p.c
/spdk/lib/ftl/ftl_l2p.h
/spdk/lib/ftl/ftl_l2p_flat.c
/spdk/lib/ftl/ftl_l2p_flat.h
/spdk/lib/ftl/ftl_layout.c
/spdk/lib/ftl/ftl_layout.h
/spdk/lib/ftl/ftl_nv_cache.c
/spdk/lib/ftl/ftl_nv_cache.h
/spdk/lib/ftl/ftl_nv_cache_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_rq.c
/spdk/lib/ftl/ftl_sb.c
/spdk/lib/ftl/ftl_sb.h
/spdk/lib/ftl/ftl_sb_common.h
/spdk/lib/ftl/ftl_sb_current.h
/spdk/lib/ftl/ftl_utils.h
/spdk/lib/ftl/ftl_writer.c
/spdk/lib/ftl/ftl_writer.h
/spdk/lib/ftl/mngt/ftl_mngt.c
/spdk/lib/ftl/mngt/ftl_mngt.h
/spdk/lib/ftl/mngt/ftl_mngt_band.c
/spdk/lib/ftl/mngt/ftl_mngt_bdev.c
/spdk/lib/ftl/mngt/ftl_mngt_ioch.c
/spdk/lib/ftl/mngt/ftl_mngt_l2p.c
/spdk/lib/ftl/mngt/ftl_mngt_md.c
/spdk/lib/ftl/mngt/ftl_mngt_misc.c
/spdk/lib/ftl/mngt/ftl_mngt_shutdown.c
/spdk/lib/ftl/mngt/ftl_mngt_startup.c
/spdk/lib/ftl/mngt/ftl_mngt_steps.h
/spdk/lib/ftl/spdk_ftl.map
/spdk/lib/ftl/utils/ftl_addr_utils.h
/spdk/lib/ftl/utils/ftl_bitmap.c
/spdk/lib/ftl/utils/ftl_bitmap.h
/spdk/lib/ftl/utils/ftl_conf.c
/spdk/lib/ftl/utils/ftl_conf.h
/spdk/lib/ftl/utils/ftl_defs.h
/spdk/lib/ftl/utils/ftl_df.h
/spdk/lib/ftl/utils/ftl_log.h
/spdk/lib/ftl/utils/ftl_md.c
/spdk/lib/ftl/utils/ftl_md.h
/spdk/lib/ftl/utils/ftl_mempool.c
/spdk/lib/ftl/utils/ftl_mempool.h
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd_internal.h
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/idxd/idxd_user.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/lvol/Makefile
/spdk/lib/lvol/lvol.c
/spdk/lib/lvol/spdk_lvol.map
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_pcie_internal.h
/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/nvme_vfio_user.c
/spdk/lib/nvme/spdk_nvme.map
/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/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rdma/Makefile
/spdk/lib/rdma/common.c
/spdk/lib/rdma/spdk_rdma.map
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/sock/Makefile
/spdk/lib/sock/sock.c
/spdk/lib/sock/sock_rpc.c
/spdk/lib/sock/spdk_sock.map
/spdk/lib/thread/thread.c
/spdk/lib/trace/Makefile
/spdk/lib/trace/trace.c
/spdk/lib/trace/trace_flags.c
/spdk/lib/trace_parser/Makefile
/spdk/lib/trace_parser/trace.cpp
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/virtio/Makefile
/spdk/lib/virtio/virtio.c
/spdk/lib/virtio/virtio_vhost_user.c
/spdk/lib/vmd/led.c
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd_internal.h
/spdk/libvfio-user
/spdk/licenses/bsd-2-clause.txt
/spdk/licenses/bsd-3-clause.txt
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.modules.mk
/spdk/module/accel/dsa/accel_engine_dsa.c
/spdk/module/accel/iaa/accel_engine_iaa.c
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/bdev/Makefile
/spdk/module/bdev/aio/bdev_aio_rpc.c
/spdk/module/bdev/compress/vbdev_compress_rpc.c
/spdk/module/bdev/daos/Makefile
/spdk/module/bdev/daos/bdev_daos.c
/spdk/module/bdev/daos/bdev_daos.h
/spdk/module/bdev/daos/bdev_daos_rpc.c
/spdk/module/bdev/ftl/Makefile
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl.h
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/iscsi/bdev_iscsi.h
/spdk/module/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/module/bdev/lvol/vbdev_lvol.c
/spdk/module/bdev/lvol/vbdev_lvol.h
/spdk/module/bdev/lvol/vbdev_lvol_rpc.c
/spdk/module/bdev/malloc/bdev_malloc.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/Makefile
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/concat.c
/spdk/module/bdev/raid/raid5f.c
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/virtio/bdev_virtio_blk.c
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/bdev/xnvme/Makefile
/spdk/module/bdev/xnvme/bdev_xnvme.c
/spdk/module/bdev/xnvme/bdev_xnvme.h
/spdk/module/bdev/xnvme/bdev_xnvme_rpc.c
/spdk/module/event/subsystems/accel/accel.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/python/spdk/rpc/__init__.py
/spdk/python/spdk/rpc/accel.py
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/lvol.py
/spdk/python/spdk/rpc/sock.py
/spdk/python/spdk/sma/__init__.py
/spdk/python/spdk/sma/device/__init__.py
/spdk/python/spdk/sma/device/nvmf_vfiouser.py
/spdk/rpmbuild/rpm.sh
/spdk/rpmbuild/spdk.spec
/spdk/scripts/ar-xnvme-fixer
/spdk/scripts/bpf/trace.py
/spdk/scripts/check_format.sh
/spdk/scripts/fio-wrapper
/spdk/scripts/gen_nvme.sh
/spdk/scripts/pc.sh
/spdk/scripts/pkgdep/common.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/rpc.py
/spdk/scripts/setup.sh
/spdk/scripts/sma.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/autorun-spdk.conf
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/accel_engine/accel_engine.sh
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.c
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/bdev/blockdev.sh
/spdk/test/blobstore/blobstore.sh
/spdk/test/blobstore/blobstore_grow/blobstore_grow.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/dnf
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/dpdk_kmods/0001-dma-mask.patch
/spdk/test/common/config/pkgdep/patches/ice/0001-ringparam-incompatible-pointer-types.patch
/spdk/test/common/config/pkgdep/patches/qat/0001-default-groups.patch
/spdk/test/common/config/pkgdep/patches/qat/0001-dma-mask.patch
/spdk/test/common/config/vm_setup.conf
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_rdma.c
/spdk/test/common/skipped_build_files.txt
/spdk/test/common/skipped_tests.txt
/spdk/test/ftl/bdevperf.sh
/spdk/test/ftl/common.sh
/spdk/test/ftl/config/fio/drive-prep.fio
/spdk/test/ftl/config/fio/randr.fio
/spdk/test/ftl/config/fio/randrw.fio
/spdk/test/ftl/config/fio/randw-verify-qd128-ext.fio
/spdk/test/ftl/config/fio/randw-verify-qd2048-ext.fio
/spdk/test/ftl/config/fio/randw-verify-qd256-nght.fio
/spdk/test/ftl/config/fio/randw.fio
/spdk/test/ftl/fio.sh
/spdk/test/ftl/ftl.sh
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/Makefile
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/xnvme/xnvme.sh
/spdk/test/nvmf/host/timeout.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/llvm_nvme_fuzz.sh
/spdk/test/nvmf/target/nvmf_vfio_user.sh
/spdk/test/nvmf/target/perf_adq.sh
/spdk/test/nvmf/target/tls.sh
/spdk/test/openstack/run_openstack_tests.sh
/spdk/test/setup/common.sh
/spdk/test/setup/hugepages.sh
/spdk/test/sma/sma.sh
/spdk/test/sma/vfiouser_qemu.sh
/spdk/test/sma/vhost_blk.sh
/spdk/test/spdkcli/match_files/spdkcli_details_vhost.test.match
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/part.c/part_ut.c
/spdk/test/unit/lib/bdev/raid/Makefile
/spdk/test/unit/lib/bdev/raid/concat.c/concat_ut.c
/spdk/test/unit/lib/bdev/raid/raid5f.c/Makefile
/spdk/test/unit/lib/bdev/raid/raid5f.c/raid5f_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/event/app.c/Makefile
/spdk/test/unit/lib/ftl/Makefile
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_band.c/.gitignore
/spdk/test/unit/lib/ftl/ftl_band.c/Makefile
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_bitmap.c/.gitignore
/spdk/test/unit/lib/ftl/ftl_bitmap.c/Makefile
/spdk/test/unit/lib/ftl/ftl_bitmap.c/ftl_bitmap_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/.gitignore
/spdk/test/unit/lib/ftl/ftl_io.c/Makefile
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_l2p/.gitignore
/spdk/test/unit/lib/ftl/ftl_l2p/Makefile
/spdk/test/unit/lib/ftl/ftl_l2p/ftl_l2p_ut.c
/spdk/test/unit/lib/ftl/ftl_mempool.c/.gitignore
/spdk/test/unit/lib/ftl/ftl_mempool.c/Makefile
/spdk/test/unit/lib/ftl/ftl_mempool.c/ftl_mempool_ut.c
/spdk/test/unit/lib/ftl/ftl_mngt/.gitignore
/spdk/test/unit/lib/ftl/ftl_mngt/Makefile
/spdk/test/unit/lib/ftl/ftl_mngt/ftl_mngt_ut.c
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/json/json_parse.c/json_parse_ut.c
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_fabric.c/nvme_fabric_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvme/nvme_transport.c/nvme_transport_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_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/rdma/Makefile
/spdk/test/unit/lib/rdma/common.c/.gitignore
/spdk/test/unit/lib/rdma/common.c/Makefile
/spdk/test/unit/lib/rdma/common.c/common_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/sock/uring.c/uring_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vfio_user/common.sh
/spdk/test/vfio_user/vfio_user.sh
/spdk/test/vfio_user/vfio_user_fio/vfio_user_fio.sh
/spdk/test/vfio_user/vfio_user_restart_vm/vfio_user_restart_vm.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/initiator/blockdev.sh
/spdk/xnvme
/spdk/xnvmebuild/Makefile
8dd1cd2122-Jun-2022 Ben Walker <benjamin.walker@intel.com>

check_format: For C files only, fix return type breaks

In SPDK, declarations have the return type on the same line. Definitions
have the return type on a separate line. Astyle has an option for
enfo

check_format: For C files only, fix return type breaks

In SPDK, declarations have the return type on the same line. Definitions
have the return type on a separate line. Astyle has an option for
enforcing this. Unfortunately, it seems to have two bugs:

1) It doesn't work correctly at all on C++ files.
2) It often fails on functions that return enums, or long type names

Deal with 1) by adjusting the check_format.sh script to only tell astyle
to fix return type line breaks for C files and not C++. Deal with 2) by
adding a few typedefs to work around the problem.

Change-Id: Idf28281466cab8411ce252d5f02ab384166790c6
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13437
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/iscsi_tgt/Makefile
/spdk/app/iscsi_top/Makefile
/spdk/app/iscsi_top/iscsi_top.c
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_dd/Makefile
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_lspci/Makefile
/spdk/app/spdk_top/Makefile
/spdk/app/spdk_top/spdk_top.c
/spdk/app/trace/Makefile
/spdk/app/trace/trace.cpp
/spdk/app/trace_record/Makefile
/spdk/app/trace_record/trace_record.c
/spdk/app/vhost/Makefile
/spdk/configure
/spdk/doc/bdevperf.md
/spdk/doc/spdkcli.md
/spdk/dpdkbuild/Makefile
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/bdev/hello_world/hello_bdev.c
/spdk/examples/ioat/verify/verify.c
/spdk/examples/nvme/abort/abort.c
/spdk/examples/nvme/cmb_copy/cmb_copy.c
/spdk/examples/nvme/discovery_aer/discovery_aer.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/hotplug/hotplug.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvme/pmr_persistence/pmr_persistence.c
/spdk/examples/nvme/reconnect/reconnect.c
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/include/linux/virtio_ring.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/util.h
/spdk/include/spdk/vmd.h
/spdk/include/spdk_internal/rdma.h
/spdk/include/spdk_internal/virtio.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/dma/dma.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_ocf/mpool.c
/spdk/lib/env_ocf/ocf_env.c
/spdk/lib/env_ocf/ocf_env.h
/spdk/lib/env_ocf/ocf_env_list.h
/spdk/lib/event/scheduler_static.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ioat/ioat.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/md5.c
/spdk/lib/iscsi/param.h
/spdk/lib/iscsi/tgt_node.c
/spdk/lib/json/json_write.c
/spdk/lib/jsonrpc/jsonrpc_client_tcp.c
/spdk/lib/jsonrpc/jsonrpc_server_tcp.c
/spdk/lib/lvol/lvol.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_common.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/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/reduce/reduce.c
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
/spdk/lib/util/Makefile
/spdk/lib/util/iov.c
/spdk/lib/util/spdk_util.map
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/libvfio-user
/spdk/mk/spdk.app.mk
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/delay/vbdev_delay.c
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/ocf/ctx.c
/spdk/module/bdev/ocf/volume.h
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/concat.c
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/split/vbdev_split.c
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/virtio/bdev_virtio.h
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/module/event/subsystems/scheduler/scheduler.c
/spdk/module/scheduler/dynamic/scheduler_dynamic.c
/spdk/module/sock/posix/Makefile
/spdk/module/sock/posix/posix.c
/spdk/scripts/check_format.sh
/spdk/scripts/fio-wrapper
/spdk/scripts/pkgdep.sh
/spdk/scripts/pkgdep/common.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/pkgdep/sles.sh
/spdk/scripts/rpc.py
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/blockdev.sh
/spdk/test/blobfs/fuse/fuse.c
/spdk/test/blobfs/mkfs/mkfs.c
/spdk/test/common/autotest_common.sh
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/env/pci/pci_ut.c
/spdk/test/event/app_repeat/app_repeat.c
/spdk/test/external_code/passthru/vbdev_passthru.c
/spdk/test/iscsi_tgt/sock/sock.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/boot_partition/boot_partition.c
/spdk/test/nvme/compliance/nvme_compliance.c
/spdk/test/nvme/connect_stress/connect_stress.c
/spdk/test/nvme/cuse/cuse.c
/spdk/test/nvme/deallocated_value/deallocated_value.c
/spdk/test/nvme/e2edp/nvme_dp.c
/spdk/test/nvme/err_injection/err_injection.c
/spdk/test/nvme/fused_ordering/fused_ordering.c
/spdk/test/nvme/nvme.sh
/spdk/test/nvme/overhead/overhead.c
/spdk/test/nvme/reserve/reserve.c
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/sgl/sgl.c
/spdk/test/nvme/simple_copy/simple_copy.c
/spdk/test/nvme/startup/startup.c
/spdk/test/nvmf/host/multipath.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/nvmf_vhost_fio.job
/spdk/test/nvmf/target/tls.sh
/spdk/test/ocf/integrity/test.fio
/spdk/test/rpc_client/rpc_client_test.c
/spdk/test/scheduler/load_balancing.sh
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/blobfs_bdev_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/blobfs/tree.c/tree_ut.c
/spdk/test/unit/lib/env_dpdk/pci_event.c/pci_event_ut.c
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/ioat/ioat.c/ioat_ut.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/json/json_parse.c/json_parse_ut.c
/spdk/test/unit/lib/json/json_util.c/json_util_ut.c
/spdk/test/unit/lib/json/json_write.c/json_write_ut.c
/spdk/test/unit/lib/jsonrpc/jsonrpc_server.c/jsonrpc_server_ut.c
/spdk/test/unit/lib/log/log.c/log_ut.c
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/nvme_ctrlr_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_ocssd_cmd.c/nvme_ctrlr_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_cuse.c/nvme_cuse_ut.c
/spdk/test/unit/lib/nvme/nvme_fabric.c/nvme_fabric_ut.c
/spdk/test/unit/lib/nvme/nvme_io_msg.c/nvme_io_msg_ut.c
/spdk/test/unit/lib/nvme/nvme_ns.c/nvme_ns_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_ocssd_cmd.c/nvme_ns_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_opal.c/nvme_opal_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_quirks.c/nvme_quirks_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvme/nvme_transport.c/nvme_transport_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/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c
/spdk/test/unit/lib/nvmf/nvmf.c/nvmf_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_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
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/rpc/rpc.c/rpc_ut.c
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/util/iov.c/iov_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/vhost/common/fio_jobs/default_initiator.job
/spdk/test/vhost/common/fio_jobs/default_integrity.job
/spdk/test/vhost/common/fio_jobs/default_integrity_nightly.job
/spdk/test/vhost/fio/vhost_fio.job
/spdk/test/vhost/hotplug/fio_jobs/default_integrity.job
/spdk/test/vhost/initiator/bdev.fio
/spdk/test/vhost/integrity/integrity_vm.sh
/spdk/test/vhost/migration/migration-tc1.job
/spdk/test/vhost/migration/migration-tc2.job
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/vfiouserbuild/Makefile
0b9100e814-Jun-2022 Anton Eidelman <anton@lightbitslabs.com>

bdev/nvme: replace nn with mnan in ana_log size calculation

Calculation of the ANA log page size should use the
identify ctrl MNAN field
(maximum number of allowed namespaces)
not the NN (maximum va

bdev/nvme: replace nn with mnan in ana_log size calculation

Calculation of the ANA log page size should use the
identify ctrl MNAN field
(maximum number of allowed namespaces)
not the NN (maximum valid nsid value).

An ANA-enabled controller must have a non-zero MNAN value,
see NVMe Base Specification, Figure 251,
therefore nvme_ctrlr_init_ana_log_page() may safely use MNAN.

Since NN might be much higher than MNAN,
ANA log size based on NN may results in a very large
log page and cause a failure to get ANA log,
e.g. if it is larger than the controller's MDTS.

Fix: replace cdata->nn with cdata->mnan
in nvme_ctrlr_init_ana_log_page()

Signed-off-by: Anton Eidelman <anton@lightbitslabs.com>
Change-Id: I2a522dca833a27dddad25848d7688efa23d23091
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13039
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com>

show more ...

488570eb03-Jun-2022 Jim Harris <james.r.harris@intel.com>

Replace most BSD 3-clause license text with SPDX identifier.

Many open source projects have moved to using SPDX identifiers
to specify license information, reducing the amount of
boilerplate code in

Replace most BSD 3-clause license text with SPDX identifier.

Many open source projects have moved to using SPDX identifiers
to specify license information, reducing the amount of
boilerplate code in every source file. This patch replaces
the bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clause
identifier.

Almost all of these files share the exact same license text,
and this patch only modifies the files that contain the
most common license text. There can be slight variations
because the third clause contains company names - most say
"Intel Corporation", but there are instances for Nvidia,
Samsung, Eideticom and even "the copyright holder".

Used a bash script to automate replacement of the license text
with SPDX identifier which is checked into scripts/spdx.sh.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: <qun.wan@intel.com>

show more ...


/spdk/.gitignore
/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/LICENSE
/spdk/Makefile
/spdk/app/Makefile
/spdk/app/iscsi_tgt/Makefile
/spdk/app/iscsi_tgt/iscsi_tgt.c
/spdk/app/iscsi_top/Makefile
/spdk/app/iscsi_top/iscsi_top.c
/spdk/app/nvmf_tgt/Makefile
/spdk/app/nvmf_tgt/nvmf_main.c
/spdk/app/spdk_dd/Makefile
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_lspci/Makefile
/spdk/app/spdk_lspci/spdk_lspci.c
/spdk/app/spdk_tgt/Makefile
/spdk/app/spdk_tgt/spdk_tgt.c
/spdk/app/spdk_top/Makefile
/spdk/app/spdk_top/spdk_top.c
/spdk/app/trace/Makefile
/spdk/app/trace/trace.cpp
/spdk/app/trace_record/Makefile
/spdk/app/trace_record/trace_record.c
/spdk/app/vhost/Makefile
/spdk/app/vhost/vhost.c
/spdk/autobuild.sh
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/accel_fw.md
/spdk/doc/bdev.md
/spdk/doc/idxd.md
/spdk/doc/jsonrpc.md
/spdk/dpdkbuild/Makefile
/spdk/examples/Makefile
/spdk/examples/accel/Makefile
/spdk/examples/accel/perf/Makefile
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/bdev/Makefile
/spdk/examples/bdev/fio_plugin/Makefile
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/bdev/hello_world/Makefile
/spdk/examples/bdev/hello_world/hello_bdev.c
/spdk/examples/blob/Makefile
/spdk/examples/blob/cli/Makefile
/spdk/examples/blob/cli/blobcli.c
/spdk/examples/blob/hello_world/Makefile
/spdk/examples/blob/hello_world/hello_blob.c
/spdk/examples/idxd/Makefile
/spdk/examples/idxd/perf/Makefile
/spdk/examples/idxd/perf/perf.c
/spdk/examples/interrupt_tgt/Makefile
/spdk/examples/interrupt_tgt/interrupt_tgt.c
/spdk/examples/ioat/Makefile
/spdk/examples/ioat/perf/Makefile
/spdk/examples/ioat/perf/perf.c
/spdk/examples/ioat/verify/Makefile
/spdk/examples/ioat/verify/verify.c
/spdk/examples/nvme/Makefile
/spdk/examples/nvme/abort/Makefile
/spdk/examples/nvme/abort/abort.c
/spdk/examples/nvme/arbitration/Makefile
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/cmb_copy/Makefile
/spdk/examples/nvme/cmb_copy/cmb_copy.c
/spdk/examples/nvme/discovery_aer/Makefile
/spdk/examples/nvme/discovery_aer/discovery_aer.c
/spdk/examples/nvme/fio_plugin/Makefile
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/hello_world/Makefile
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/hotplug/Makefile
/spdk/examples/nvme/hotplug/hotplug.c
/spdk/examples/nvme/identify/Makefile
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/nvme_manage/Makefile
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/perf/Makefile
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvme/pmr_persistence/Makefile
/spdk/examples/nvme/pmr_persistence/pmr_persistence.c
/spdk/examples/nvme/reconnect/Makefile
/spdk/examples/nvme/reconnect/reconnect.c
/spdk/examples/nvmf/Makefile
/spdk/examples/nvmf/nvmf/Makefile
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/sock/Makefile
/spdk/examples/sock/hello_world/Makefile
/spdk/examples/sock/hello_world/hello_sock.c
/spdk/examples/util/Makefile
/spdk/examples/util/zipf/Makefile
/spdk/examples/util/zipf/zipf.c
/spdk/examples/vmd/Makefile
/spdk/examples/vmd/led/Makefile
/spdk/examples/vmd/led/led.c
/spdk/examples/vmd/lsvmd/Makefile
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/go/spdk.go
/spdk/include/Makefile
/spdk/include/spdk/accel_engine.h
/spdk/include/spdk/assert.h
/spdk/include/spdk/barrier.h
/spdk/include/spdk/base64.h
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/bdev_zone.h
/spdk/include/spdk/bit_array.h
/spdk/include/spdk/bit_pool.h
/spdk/include/spdk/blob.h
/spdk/include/spdk/blob_bdev.h
/spdk/include/spdk/blobfs.h
/spdk/include/spdk/blobfs_bdev.h
/spdk/include/spdk/conf.h
/spdk/include/spdk/cpuset.h
/spdk/include/spdk/crc16.h
/spdk/include/spdk/crc32.h
/spdk/include/spdk/dif.h
/spdk/include/spdk/dma.h
/spdk/include/spdk/endian.h
/spdk/include/spdk/env.h
/spdk/include/spdk/env_dpdk.h
/spdk/include/spdk/event.h
/spdk/include/spdk/fd.h
/spdk/include/spdk/fd_group.h
/spdk/include/spdk/file.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/gpt_spec.h
/spdk/include/spdk/histogram_data.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/init.h
/spdk/include/spdk/ioat.h
/spdk/include/spdk/ioat_spec.h
/spdk/include/spdk/iscsi_spec.h
/spdk/include/spdk/json.h
/spdk/include/spdk/jsonrpc.h
/spdk/include/spdk/likely.h
/spdk/include/spdk/log.h
/spdk/include/spdk/lvol.h
/spdk/include/spdk/memory.h
/spdk/include/spdk/mmio.h
/spdk/include/spdk/nbd.h
/spdk/include/spdk/notify.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_intel.h
/spdk/include/spdk/nvme_ocssd.h
/spdk/include/spdk/nvme_ocssd_spec.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvme_zns.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_cmd.h
/spdk/include/spdk/nvmf_fc_spec.h
/spdk/include/spdk/nvmf_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/opal.h
/spdk/include/spdk/opal_spec.h
/spdk/include/spdk/pci_ids.h
/spdk/include/spdk/pipe.h
/spdk/include/spdk/queue.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/rpc.h
/spdk/include/spdk/scheduler.h
/spdk/include/spdk/scsi.h
/spdk/include/spdk/scsi_spec.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/stdinc.h
/spdk/include/spdk/string.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/trace.h
/spdk/include/spdk/trace_parser.h
/spdk/include/spdk/util.h
/spdk/include/spdk/uuid.h
/spdk/include/spdk/version.h
/spdk/include/spdk/vfio_user_pci.h
/spdk/include/spdk/vfio_user_spec.h
/spdk/include/spdk/vhost.h
/spdk/include/spdk/vmd.h
/spdk/include/spdk/zipf.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/include/spdk_internal/assert.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/idxd.h
/spdk/include/spdk_internal/init.h
/spdk/include/spdk_internal/lvolstore.h
/spdk/include/spdk_internal/mock.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/rdma.h
/spdk/include/spdk_internal/sgl.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/thread.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/include/spdk_internal/uring.h
/spdk/include/spdk_internal/usdt.h
/spdk/include/spdk_internal/utf.h
/spdk/include/spdk_internal/vhost_user.h
/spdk/include/spdk_internal/virtio.h
/spdk/ipsecbuild/Makefile
/spdk/isalbuild/Makefile
/spdk/lib/Makefile
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_internal.h
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/bdev_zone.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/scsi_nvme.c
/spdk/lib/bdev/vtune.c
/spdk/lib/blob/Makefile
/spdk/lib/blob/blob_bs_dev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blob/request.c
/spdk/lib/blob/request.h
/spdk/lib/blob/zeroes.c
/spdk/lib/blobfs/Makefile
/spdk/lib/blobfs/blobfs.c
/spdk/lib/blobfs/tree.c
/spdk/lib/blobfs/tree.h
/spdk/lib/conf/Makefile
/spdk/lib/conf/conf.c
/spdk/lib/dma/Makefile
/spdk/lib/dma/dma.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env.mk
/spdk/lib/env_dpdk/env_internal.h
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_dpdk/pci_event.c
/spdk/lib/env_dpdk/pci_idxd.c
/spdk/lib/env_dpdk/pci_ioat.c
/spdk/lib/env_dpdk/pci_virtio.c
/spdk/lib/env_dpdk/pci_vmd.c
/spdk/lib/env_dpdk/sigbus_handler.c
/spdk/lib/env_dpdk/threads.c
/spdk/lib/env_ocf/Makefile
/spdk/lib/env_ocf/mpool.c
/spdk/lib/env_ocf/mpool.h
/spdk/lib/env_ocf/ocf_env.c
/spdk/lib/env_ocf/ocf_env.h
/spdk/lib/env_ocf/ocf_env_headers.h
/spdk/lib/env_ocf/ocf_env_list.h
/spdk/lib/event/Makefile
/spdk/lib/event/app.c
/spdk/lib/event/app_rpc.c
/spdk/lib/event/log_rpc.c
/spdk/lib/event/reactor.c
/spdk/lib/event/scheduler_static.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_addr.h
/spdk/lib/ftl/ftl_band.c
/spdk/lib/ftl/ftl_band.h
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_debug.c
/spdk/lib/ftl/ftl_debug.h
/spdk/lib/ftl/ftl_init.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/ftl/ftl_io.h
/spdk/lib/ftl/ftl_reloc.c
/spdk/lib/ftl/ftl_reloc.h
/spdk/lib/ftl/ftl_restore.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/ftl/ftl_trace.h
/spdk/lib/idxd/Makefile
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/idxd/idxd_user.c
/spdk/lib/idxd/spdk_idxd.map
/spdk/lib/init/Makefile
/spdk/lib/init/json_config.c
/spdk/lib/init/rpc.c
/spdk/lib/init/subsystem.c
/spdk/lib/init/subsystem.h
/spdk/lib/init/subsystem_rpc.c
/spdk/lib/ioat/Makefile
/spdk/lib/ioat/ioat.c
/spdk/lib/ioat/ioat_internal.h
/spdk/lib/iscsi/Makefile
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/init_grp.c
/spdk/lib/iscsi/init_grp.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/md5.c
/spdk/lib/iscsi/md5.h
/spdk/lib/iscsi/param.c
/spdk/lib/iscsi/param.h
/spdk/lib/iscsi/portal_grp.c
/spdk/lib/iscsi/portal_grp.h
/spdk/lib/iscsi/task.c
/spdk/lib/iscsi/task.h
/spdk/lib/iscsi/tgt_node.c
/spdk/lib/iscsi/tgt_node.h
/spdk/lib/json/Makefile
/spdk/lib/json/json_parse.c
/spdk/lib/json/json_util.c
/spdk/lib/json/json_write.c
/spdk/lib/jsonrpc/Makefile
/spdk/lib/jsonrpc/jsonrpc_client.c
/spdk/lib/jsonrpc/jsonrpc_client_tcp.c
/spdk/lib/jsonrpc/jsonrpc_internal.h
/spdk/lib/jsonrpc/jsonrpc_server.c
/spdk/lib/jsonrpc/jsonrpc_server_tcp.c
/spdk/lib/log/Makefile
/spdk/lib/log/log.c
/spdk/lib/log/log_flags.c
/spdk/lib/lvol/Makefile
/spdk/lib/lvol/lvol.c
/spdk/lib/nbd/Makefile
/spdk/lib/nbd/nbd.c
/spdk/lib/nbd/nbd_internal.h
/spdk/lib/nbd/nbd_rpc.c
/spdk/lib/notify/Makefile
/spdk/lib/notify/notify.c
/spdk/lib/notify/notify_rpc.c
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_ctrlr_ocssd_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_cuse.h
/spdk/lib/nvme/nvme_discovery.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_io_msg.c
/spdk/lib/nvme/nvme_io_msg.h
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_ns_ocssd_cmd.c
/spdk/lib/nvme/nvme_opal.c
/spdk/lib/nvme/nvme_opal_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_quirks.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/nvme_vfio_user.c
/spdk/lib/nvme/nvme_zns.c
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.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/rdma/Makefile
/spdk/lib/rdma/common.c
/spdk/lib/rdma/rdma_mlx5_dv.c
/spdk/lib/rdma/rdma_verbs.c
/spdk/lib/reduce/Makefile
/spdk/lib/reduce/reduce.c
/spdk/lib/rocksdb/env_spdk.cc
/spdk/lib/rocksdb/spdk.rocksdb.mk
/spdk/lib/rpc/Makefile
/spdk/lib/rpc/rpc.c
/spdk/lib/scsi/Makefile
/spdk/lib/scsi/dev.c
/spdk/lib/scsi/lun.c
/spdk/lib/scsi/port.c
/spdk/lib/scsi/scsi.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/scsi/scsi_internal.h
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/scsi/scsi_rpc.c
/spdk/lib/scsi/task.c
/spdk/lib/sock/Makefile
/spdk/lib/sock/sock.c
/spdk/lib/sock/sock_rpc.c
/spdk/lib/thread/Makefile
/spdk/lib/thread/thread.c
/spdk/lib/thread/thread_internal.h
/spdk/lib/trace/Makefile
/spdk/lib/trace/trace.c
/spdk/lib/trace/trace_flags.c
/spdk/lib/trace/trace_rpc.c
/spdk/lib/trace_parser/Makefile
/spdk/lib/trace_parser/trace.cpp
/spdk/lib/ut_mock/Makefile
/spdk/lib/ut_mock/mock.c
/spdk/lib/util/Makefile
/spdk/lib/util/base64.c
/spdk/lib/util/bit_array.c
/spdk/lib/util/cpuset.c
/spdk/lib/util/crc16.c
/spdk/lib/util/crc32.c
/spdk/lib/util/crc32_ieee.c
/spdk/lib/util/crc32c.c
/spdk/lib/util/dif.c
/spdk/lib/util/fd.c
/spdk/lib/util/fd_group.c
/spdk/lib/util/file.c
/spdk/lib/util/iov.c
/spdk/lib/util/math.c
/spdk/lib/util/pipe.c
/spdk/lib/util/strerror_tls.c
/spdk/lib/util/string.c
/spdk/lib/util/util_internal.h
/spdk/lib/util/uuid.c
/spdk/lib/util/zipf.c
/spdk/lib/vfio_user/Makefile
/spdk/lib/vfio_user/host/Makefile
/spdk/lib/vfio_user/host/vfio_user.c
/spdk/lib/vfio_user/host/vfio_user_internal.h
/spdk/lib/vfio_user/host/vfio_user_pci.c
/spdk/lib/vhost/Makefile
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/spdk_vhost.map
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/virtio/Makefile
/spdk/lib/virtio/vhost_user.c
/spdk/lib/virtio/vhost_user.h
/spdk/lib/virtio/virtio.c
/spdk/lib/virtio/virtio_pci.c
/spdk/lib/virtio/virtio_user.c
/spdk/lib/vmd/Makefile
/spdk/lib/vmd/led.c
/spdk/lib/vmd/vmd.c
/spdk/lib/vmd/vmd.h
/spdk/lib/vmd/vmd_spec.h
/spdk/libvfio-user
/spdk/license/bsd-2-clause.txt
/spdk/license/bsd-3-clause.txt
/spdk/mk/nvme.libtest.mk
/spdk/mk/spdk.app.mk
/spdk/mk/spdk.app_cxx.mk
/spdk/mk/spdk.app_vars.mk
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.deps.mk
/spdk/mk/spdk.fio.mk
/spdk/mk/spdk.lib.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.mock.unittest.mk
/spdk/mk/spdk.modules.mk
/spdk/mk/spdk.nvmecli.mk
/spdk/mk/spdk.subdirs.mk
/spdk/mk/spdk.unittest.mk
/spdk/module/Makefile
/spdk/module/accel/Makefile
/spdk/module/accel/dsa/Makefile
/spdk/module/accel/dsa/accel_engine_dsa.c
/spdk/module/accel/dsa/accel_engine_dsa.h
/spdk/module/accel/dsa/accel_engine_dsa_rpc.c
/spdk/module/accel/iaa/Makefile
/spdk/module/accel/iaa/accel_engine_iaa.c
/spdk/module/accel/iaa/accel_engine_iaa.h
/spdk/module/accel/iaa/accel_engine_iaa_rpc.c
/spdk/module/accel/ioat/Makefile
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/accel/ioat/accel_engine_ioat.h
/spdk/module/accel/ioat/accel_engine_ioat_rpc.c
/spdk/module/bdev/Makefile
/spdk/module/bdev/aio/Makefile
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/aio/bdev_aio.h
/spdk/module/bdev/aio/bdev_aio_rpc.c
/spdk/module/bdev/compress/Makefile
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/compress/vbdev_compress.h
/spdk/module/bdev/compress/vbdev_compress_rpc.c
/spdk/module/bdev/crypto/Makefile
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/delay/Makefile
/spdk/module/bdev/delay/vbdev_delay.c
/spdk/module/bdev/delay/vbdev_delay.h
/spdk/module/bdev/delay/vbdev_delay_rpc.c
/spdk/module/bdev/error/Makefile
/spdk/module/bdev/error/vbdev_error.c
/spdk/module/bdev/error/vbdev_error.h
/spdk/module/bdev/error/vbdev_error_rpc.c
/spdk/module/bdev/ftl/Makefile
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl.h
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/gpt/Makefile
/spdk/module/bdev/gpt/gpt.c
/spdk/module/bdev/gpt/gpt.h
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/iscsi/Makefile
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/iscsi/bdev_iscsi.h
/spdk/module/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/module/bdev/lvol/Makefile
/spdk/module/bdev/lvol/vbdev_lvol.c
/spdk/module/bdev/lvol/vbdev_lvol.h
/spdk/module/bdev/lvol/vbdev_lvol_rpc.c
/spdk/module/bdev/malloc/Makefile
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/malloc/bdev_malloc.h
/spdk/module/bdev/malloc/bdev_malloc_rpc.c
/spdk/module/bdev/null/Makefile
/spdk/module/bdev/null/bdev_null.c
/spdk/module/bdev/null/bdev_null.h
/spdk/module/bdev/null/bdev_null_rpc.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_cuse_rpc.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/nvme/nvme_rpc.c
/spdk/module/bdev/nvme/vbdev_opal.c
/spdk/module/bdev/nvme/vbdev_opal.h
/spdk/module/bdev/nvme/vbdev_opal_rpc.c
/spdk/module/bdev/ocf/Makefile
/spdk/module/bdev/ocf/ctx.c
/spdk/module/bdev/ocf/ctx.h
/spdk/module/bdev/ocf/data.c
/spdk/module/bdev/ocf/data.h
/spdk/module/bdev/ocf/stats.c
/spdk/module/bdev/ocf/stats.h
/spdk/module/bdev/ocf/utils.c
/spdk/module/bdev/ocf/utils.h
/spdk/module/bdev/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/vbdev_ocf.h
/spdk/module/bdev/ocf/vbdev_ocf_rpc.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/bdev/ocf/volume.h
/spdk/module/bdev/passthru/Makefile
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/passthru/vbdev_passthru.h
/spdk/module/bdev/passthru/vbdev_passthru_rpc.c
/spdk/module/bdev/pmem/Makefile
/spdk/module/bdev/pmem/bdev_pmem.c
/spdk/module/bdev/pmem/bdev_pmem.h
/spdk/module/bdev/pmem/bdev_pmem_rpc.c
/spdk/module/bdev/raid/Makefile
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/bdev_raid_rpc.c
/spdk/module/bdev/raid/concat.c
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/raid/raid5.c
/spdk/module/bdev/rbd/Makefile
/spdk/module/bdev/rbd/bdev_rbd.c
/spdk/module/bdev/rbd/bdev_rbd.h
/spdk/module/bdev/rbd/bdev_rbd_rpc.c
/spdk/module/bdev/split/Makefile
/spdk/module/bdev/split/vbdev_split.c
/spdk/module/bdev/split/vbdev_split.h
/spdk/module/bdev/split/vbdev_split_rpc.c
/spdk/module/bdev/uring/Makefile
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/uring/bdev_uring.h
/spdk/module/bdev/uring/bdev_uring_rpc.c
/spdk/module/bdev/virtio/Makefile
/spdk/module/bdev/virtio/bdev_virtio.h
/spdk/module/bdev/virtio/bdev_virtio_blk.c
/spdk/module/bdev/virtio/bdev_virtio_rpc.c
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/bdev/zone_block/Makefile
/spdk/module/bdev/zone_block/vbdev_zone_block.c
/spdk/module/bdev/zone_block/vbdev_zone_block.h
/spdk/module/bdev/zone_block/vbdev_zone_block_rpc.c
/spdk/module/blob/Makefile
/spdk/module/blob/bdev/Makefile
/spdk/module/blob/bdev/blob_bdev.c
/spdk/module/blobfs/Makefile
/spdk/module/blobfs/bdev/Makefile
/spdk/module/blobfs/bdev/blobfs_bdev.c
/spdk/module/blobfs/bdev/blobfs_bdev_rpc.c
/spdk/module/blobfs/bdev/blobfs_fuse.c
/spdk/module/blobfs/bdev/blobfs_fuse.h
/spdk/module/env_dpdk/Makefile
/spdk/module/env_dpdk/env_dpdk_rpc.c
/spdk/module/event/Makefile
/spdk/module/event/subsystems/Makefile
/spdk/module/event/subsystems/accel/Makefile
/spdk/module/event/subsystems/accel/accel.c
/spdk/module/event/subsystems/bdev/Makefile
/spdk/module/event/subsystems/bdev/bdev.c
/spdk/module/event/subsystems/iscsi/Makefile
/spdk/module/event/subsystems/iscsi/iscsi.c
/spdk/module/event/subsystems/nbd/Makefile
/spdk/module/event/subsystems/nbd/nbd.c
/spdk/module/event/subsystems/nvmf/Makefile
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/event/subsystems/scheduler/Makefile
/spdk/module/event/subsystems/scheduler/scheduler.c
/spdk/module/event/subsystems/scsi/Makefile
/spdk/module/event/subsystems/scsi/scsi.c
/spdk/module/event/subsystems/sock/Makefile
/spdk/module/event/subsystems/sock/sock.c
/spdk/module/event/subsystems/vhost_blk/Makefile
/spdk/module/event/subsystems/vhost_blk/vhost_blk.c
/spdk/module/event/subsystems/vhost_scsi/Makefile
/spdk/module/event/subsystems/vhost_scsi/vhost_scsi.c
/spdk/module/event/subsystems/vmd/Makefile
/spdk/module/event/subsystems/vmd/event_vmd.h
/spdk/module/event/subsystems/vmd/vmd.c
/spdk/module/event/subsystems/vmd/vmd_rpc.c
/spdk/module/scheduler/Makefile
/spdk/module/scheduler/dpdk_governor/Makefile
/spdk/module/scheduler/dpdk_governor/dpdk_governor.c
/spdk/module/scheduler/dynamic/Makefile
/spdk/module/scheduler/dynamic/scheduler_dynamic.c
/spdk/module/scheduler/gscheduler/Makefile
/spdk/module/scheduler/gscheduler/gscheduler.c
/spdk/module/sock/Makefile
/spdk/module/sock/posix/Makefile
/spdk/module/sock/posix/posix.c
/spdk/module/sock/sock_kernel.h
/spdk/module/sock/uring/Makefile
/spdk/module/sock/uring/uring.c
/spdk/python/Makefile
/spdk/python/spdk/rpc/__init__.py
/spdk/python/spdk/rpc/app.py
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/dsa.py
/spdk/python/spdk/rpc/iaa.py
/spdk/python/spdk/rpc/ioat.py
/spdk/python/spdk/rpc/iscsi.py
/spdk/python/spdk/rpc/log.py
/spdk/python/spdk/rpc/lvol.py
/spdk/python/spdk/rpc/nbd.py
/spdk/python/spdk/rpc/notify.py
/spdk/python/spdk/rpc/nvme.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/python/spdk/rpc/pmem.py
/spdk/python/spdk/rpc/subsystem.py
/spdk/python/spdk/rpc/trace.py
/spdk/python/spdk/rpc/vhost.py
/spdk/python/spdk/spdkcli/ui_root.py
/spdk/scripts/bash-completion/spdk
/spdk/scripts/bpf/nvmf_timeout.bt
/spdk/scripts/core-collector.sh
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep/arch.sh
/spdk/scripts/pkgdep/clear-linux-os.sh
/spdk/scripts/pkgdep/debian.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/pkgdep/sles.sh
/spdk/scripts/rpc.py
/spdk/scripts/setup.sh
/spdk/scripts/spdx.sh
/spdk/shared_lib/Makefile
/spdk/test/Makefile
/spdk/test/accel_engine/accel_engine.sh
/spdk/test/app/Makefile
/spdk/test/app/bdev_svc/Makefile
/spdk/test/app/bdev_svc/bdev_svc.c
/spdk/test/app/fuzz/Makefile
/spdk/test/app/fuzz/common/fuzz_common.h
/spdk/test/app/fuzz/iscsi_fuzz/Makefile
/spdk/test/app/fuzz/iscsi_fuzz/iscsi_fuzz.c
/spdk/test/app/fuzz/llvm_nvme_fuzz/Makefile
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/app/fuzz/nvme_fuzz/Makefile
/spdk/test/app/fuzz/nvme_fuzz/nvme_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/Makefile
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.c
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz.h
/spdk/test/app/fuzz/vhost_fuzz/vhost_fuzz_rpc.c
/spdk/test/app/histogram_perf/Makefile
/spdk/test/app/histogram_perf/histogram_perf.c
/spdk/test/app/jsoncat/Makefile
/spdk/test/app/jsoncat/jsoncat.c
/spdk/test/app/stub/Makefile
/spdk/test/app/stub/stub.c
/spdk/test/bdev/Makefile
/spdk/test/bdev/bdevio/Makefile
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/blobfs/Makefile
/spdk/test/blobfs/fuse/Makefile
/spdk/test/blobfs/fuse/fuse.c
/spdk/test/blobfs/mkfs/Makefile
/spdk/test/blobfs/mkfs/mkfs.c
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_rdma.c
/spdk/test/common/lib/test_sock.c
/spdk/test/common/lib/ut_multithread.c
/spdk/test/compress/compress.sh
/spdk/test/cpp_headers/Makefile
/spdk/test/dma/Makefile
/spdk/test/dma/test_dma/Makefile
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/env/Makefile
/spdk/test/env/env_dpdk_post_init/Makefile
/spdk/test/env/env_dpdk_post_init/env_dpdk_post_init.c
/spdk/test/env/mem_callbacks/Makefile
/spdk/test/env/mem_callbacks/mem_callbacks.c
/spdk/test/env/memory/Makefile
/spdk/test/env/memory/memory_ut.c
/spdk/test/env/pci/Makefile
/spdk/test/env/pci/pci_ut.c
/spdk/test/env/vtophys/Makefile
/spdk/test/env/vtophys/vtophys.c
/spdk/test/event/Makefile
/spdk/test/event/app_repeat/Makefile
/spdk/test/event/app_repeat/app_repeat.c
/spdk/test/event/event_perf/Makefile
/spdk/test/event/event_perf/event_perf.c
/spdk/test/event/reactor/Makefile
/spdk/test/event/reactor/reactor.c
/spdk/test/event/reactor_perf/Makefile
/spdk/test/event/reactor_perf/reactor_perf.c
/spdk/test/event/scheduler/Makefile
/spdk/test/event/scheduler/scheduler.c
/spdk/test/external_code/Makefile
/spdk/test/external_code/hello_world/Makefile
/spdk/test/external_code/nvme/Makefile
/spdk/test/external_code/nvme/identify.c
/spdk/test/external_code/nvme/nvme.c
/spdk/test/external_code/nvme/nvme.h
/spdk/test/external_code/passthru/Makefile
/spdk/test/external_code/passthru/vbdev_passthru.c
/spdk/test/external_code/passthru/vbdev_passthru.h
/spdk/test/external_code/passthru/vbdev_passthru_rpc.c
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/config_filter.py
/spdk/test/lvol/basic.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/Makefile
/spdk/test/nvme/aer/Makefile
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/boot_partition/Makefile
/spdk/test/nvme/boot_partition/boot_partition.c
/spdk/test/nvme/compliance/Makefile
/spdk/test/nvme/compliance/nvme_compliance.c
/spdk/test/nvme/connect_stress/Makefile
/spdk/test/nvme/connect_stress/connect_stress.c
/spdk/test/nvme/cuse/Makefile
/spdk/test/nvme/cuse/cuse.c
/spdk/test/nvme/deallocated_value/Makefile
/spdk/test/nvme/deallocated_value/deallocated_value.c
/spdk/test/nvme/e2edp/Makefile
/spdk/test/nvme/e2edp/nvme_dp.c
/spdk/test/nvme/err_injection/Makefile
/spdk/test/nvme/err_injection/err_injection.c
/spdk/test/nvme/fused_ordering/Makefile
/spdk/test/nvme/fused_ordering/fused_ordering.c
/spdk/test/nvme/hw_hotplug.sh
/spdk/test/nvme/overhead/Makefile
/spdk/test/nvme/overhead/overhead.c
/spdk/test/nvme/reserve/Makefile
/spdk/test/nvme/reserve/reserve.c
/spdk/test/nvme/reset/Makefile
/spdk/test/nvme/reset/reset.c
/spdk/test/nvme/sgl/Makefile
/spdk/test/nvme/sgl/sgl.c
/spdk/test/nvme/simple_copy/Makefile
/spdk/test/nvme/simple_copy/simple_copy.c
/spdk/test/nvme/startup/Makefile
/spdk/test/nvme/startup/startup.c
/spdk/test/nvmf/host/timeout.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/perf_adq.sh
/spdk/test/pmem/pmem.sh
/spdk/test/rpc_client/Makefile
/spdk/test/rpc_client/rpc_client_test.c
/spdk/test/spdk_cunit.h
/spdk/test/spdkcli/vhost.sh
/spdk/test/thread/Makefile
/spdk/test/thread/poller_perf/Makefile
/spdk/test/thread/poller_perf/poller_perf.c
/spdk/test/unit/Makefile
/spdk/test/unit/include/Makefile
/spdk/test/unit/include/spdk/Makefile
/spdk/test/unit/include/spdk/histogram_data.h/Makefile
/spdk/test/unit/include/spdk/histogram_data.h/histogram_ut.c
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/accel/Makefile
/spdk/test/unit/lib/accel/accel.c/Makefile
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
/spdk/test/unit/lib/bdev/Makefile
/spdk/test/unit/lib/bdev/bdev.c/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_zone.c/Makefile
/spdk/test/unit/lib/bdev/bdev_zone.c/bdev_zone_ut.c
/spdk/test/unit/lib/bdev/compress.c/Makefile
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/Makefile
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/gpt/Makefile
/spdk/test/unit/lib/bdev/gpt/gpt.c/Makefile
/spdk/test/unit/lib/bdev/gpt/gpt.c/gpt_ut.c
/spdk/test/unit/lib/bdev/mt/Makefile
/spdk/test/unit/lib/bdev/mt/bdev.c/Makefile
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/nvme/Makefile
Makefile
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/part.c/Makefile
/spdk/test/unit/lib/bdev/part.c/part_ut.c
/spdk/test/unit/lib/bdev/pmem/Makefile
/spdk/test/unit/lib/bdev/pmem/bdev_pmem_ut.c
/spdk/test/unit/lib/bdev/raid/Makefile
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/Makefile
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/raid/raid5.c/Makefile
/spdk/test/unit/lib/bdev/raid/raid5.c/raid5_ut.c
/spdk/test/unit/lib/bdev/scsi_nvme.c/Makefile
/spdk/test/unit/lib/bdev/scsi_nvme.c/scsi_nvme_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/Makefile
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/Makefile
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
/spdk/test/unit/lib/blob/Makefile
/spdk/test/unit/lib/blob/blob.c/Makefile
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/blob/bs_dev_common.c
/spdk/test/unit/lib/blob/bs_scheduler.c
/spdk/test/unit/lib/blobfs/Makefile
/spdk/test/unit/lib/blobfs/blobfs_async_ut/Makefile
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/Makefile
/spdk/test/unit/lib/blobfs/blobfs_bdev.c/blobfs_bdev_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/Makefile
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/blobfs/tree.c/Makefile
/spdk/test/unit/lib/blobfs/tree.c/tree_ut.c
/spdk/test/unit/lib/dma/Makefile
/spdk/test/unit/lib/dma/dma.c/Makefile
/spdk/test/unit/lib/dma/dma.c/dma_ut.c
/spdk/test/unit/lib/env_dpdk/Makefile
/spdk/test/unit/lib/env_dpdk/pci_event.c/Makefile
/spdk/test/unit/lib/env_dpdk/pci_event.c/pci_event_ut.c
/spdk/test/unit/lib/event/Makefile
/spdk/test/unit/lib/event/app.c/Makefile
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/event/reactor.c/Makefile
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/spdk/test/unit/lib/ftl/Makefile
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_band.c/Makefile
/spdk/test/unit/lib/ftl/ftl_band.c/ftl_band_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/Makefile
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/ftl/ftl_md/Makefile
/spdk/test/unit/lib/ftl/ftl_md/ftl_md_ut.c
/spdk/test/unit/lib/ftl/ftl_ppa/Makefile
/spdk/test/unit/lib/ftl/ftl_ppa/ftl_ppa_ut.c
/spdk/test/unit/lib/ftl/ftl_reloc.c/Makefile
/spdk/test/unit/lib/ftl/ftl_reloc.c/ftl_reloc_ut.c
/spdk/test/unit/lib/ftl/ftl_wptr/Makefile
/spdk/test/unit/lib/ftl/ftl_wptr/ftl_wptr_ut.c
/spdk/test/unit/lib/idxd/Makefile
/spdk/test/unit/lib/idxd/idxd_user.c/Makefile
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/init/Makefile
/spdk/test/unit/lib/init/subsystem.c/Makefile
/spdk/test/unit/lib/init/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/ioat/Makefile
/spdk/test/unit/lib/ioat/ioat.c/Makefile
/spdk/test/unit/lib/ioat/ioat.c/ioat_ut.c
/spdk/test/unit/lib/iscsi/Makefile
/spdk/test/unit/lib/iscsi/conn.c/Makefile
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/iscsi/init_grp.c/Makefile
/spdk/test/unit/lib/iscsi/init_grp.c/init_grp_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/Makefile
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/iscsi/param.c/Makefile
/spdk/test/unit/lib/iscsi/param.c/param_ut.c
/spdk/test/unit/lib/iscsi/portal_grp.c/Makefile
/spdk/test/unit/lib/iscsi/portal_grp.c/portal_grp_ut.c
/spdk/test/unit/lib/iscsi/tgt_node.c/Makefile
/spdk/test/unit/lib/iscsi/tgt_node.c/tgt_node_ut.c
/spdk/test/unit/lib/json/Makefile
/spdk/test/unit/lib/json/json_parse.c/Makefile
/spdk/test/unit/lib/json/json_parse.c/json_parse_ut.c
/spdk/test/unit/lib/json/json_util.c/Makefile
/spdk/test/unit/lib/json/json_util.c/json_util_ut.c
/spdk/test/unit/lib/json/json_write.c/Makefile
/spdk/test/unit/lib/json/json_write.c/json_write_ut.c
/spdk/test/unit/lib/json_mock.c
/spdk/test/unit/lib/jsonrpc/Makefile
/spdk/test/unit/lib/jsonrpc/jsonrpc_server.c/Makefile
/spdk/test/unit/lib/jsonrpc/jsonrpc_server.c/jsonrpc_server_ut.c
/spdk/test/unit/lib/log/Makefile
/spdk/test/unit/lib/log/log.c/Makefile
/spdk/test/unit/lib/log/log.c/log_ut.c
/spdk/test/unit/lib/lvol/Makefile
/spdk/test/unit/lib/lvol/lvol.c/Makefile
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/notify/Makefile
/spdk/test/unit/lib/notify/notify.c/Makefile
/spdk/test/unit/lib/notify/notify.c/notify_ut.c
/spdk/test/unit/lib/nvme/Makefile
/spdk/test/unit/lib/nvme/nvme.c/Makefile
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/nvme_ctrlr_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_ocssd_cmd.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ctrlr_ocssd_cmd.c/nvme_ctrlr_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_cuse.c/Makefile
/spdk/test/unit/lib/nvme/nvme_cuse.c/nvme_cuse_ut.c
/spdk/test/unit/lib/nvme/nvme_fabric.c/Makefile
/spdk/test/unit/lib/nvme/nvme_fabric.c/nvme_fabric_ut.c
/spdk/test/unit/lib/nvme/nvme_io_msg.c/Makefile
/spdk/test/unit/lib/nvme/nvme_io_msg.c/nvme_io_msg_ut.c
/spdk/test/unit/lib/nvme/nvme_ns.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ns.c/nvme_ns_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_ocssd_cmd.c/Makefile
/spdk/test/unit/lib/nvme/nvme_ns_ocssd_cmd.c/nvme_ns_ocssd_cmd_ut.c
/spdk/test/unit/lib/nvme/nvme_opal.c/Makefile
/spdk/test/unit/lib/nvme/nvme_opal.c/nvme_opal_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/Makefile
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/Makefile
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_ut.c
/spdk/test/unit/lib/nvme/nvme_poll_group.c/Makefile
/spdk/test/unit/lib/nvme/nvme_poll_group.c/nvme_poll_group_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/Makefile
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_quirks.c/Makefile
/spdk/test/unit/lib/nvme/nvme_quirks.c/nvme_quirks_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/Makefile
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/Makefile
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvme/nvme_transport.c/Makefile
/spdk/test/unit/lib/nvme/nvme_transport.c/nvme_transport_ut.c
/spdk/test/unit/lib/nvmf/Makefile
/spdk/test/unit/lib/nvmf/ctrlr.c/Makefile
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/Makefile
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/Makefile
/spdk/test/unit/lib/nvmf/ctrlr_discovery.c/ctrlr_discovery_ut.c
/spdk/test/unit/lib/nvmf/fc.c/Makefile
/spdk/test/unit/lib/nvmf/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/fc_ls.c/Makefile
/spdk/test/unit/lib/nvmf/fc_ls.c/fc_ls_ut.c
/spdk/test/unit/lib/nvmf/nvmf.c/Makefile
/spdk/test/unit/lib/nvmf/nvmf.c/nvmf_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/Makefile
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/Makefile
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/Makefile
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/nvmf/transport.c/Makefile
/spdk/test/unit/lib/nvmf/transport.c/transport_ut.c
/spdk/test/unit/lib/nvmf/vfio_user.c/Makefile
/spdk/test/unit/lib/nvmf/vfio_user.c/vfio_user_ut.c
/spdk/test/unit/lib/reduce/Makefile
/spdk/test/unit/lib/reduce/reduce.c/Makefile
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/rpc/Makefile
/spdk/test/unit/lib/rpc/rpc.c/Makefile
/spdk/test/unit/lib/rpc/rpc.c/rpc_ut.c
/spdk/test/unit/lib/scsi/Makefile
/spdk/test/unit/lib/scsi/dev.c/Makefile
/spdk/test/unit/lib/scsi/dev.c/dev_ut.c
/spdk/test/unit/lib/scsi/lun.c/Makefile
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/scsi/scsi.c/Makefile
/spdk/test/unit/lib/scsi/scsi.c/scsi_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/Makefile
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/scsi/scsi_pr.c/Makefile
/spdk/test/unit/lib/scsi/scsi_pr.c/scsi_pr_ut.c
/spdk/test/unit/lib/sock/Makefile
/spdk/test/unit/lib/sock/posix.c/Makefile
/spdk/test/unit/lib/sock/posix.c/posix_ut.c
/spdk/test/unit/lib/sock/sock.c/Makefile
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/sock/uring.c/Makefile
/spdk/test/unit/lib/sock/uring.c/uring_ut.c
/spdk/test/unit/lib/thread/Makefile
/spdk/test/unit/lib/thread/thread.c/Makefile
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/lib/util/Makefile
/spdk/test/unit/lib/util/base64.c/Makefile
/spdk/test/unit/lib/util/base64.c/base64_ut.c
/spdk/test/unit/lib/util/bit_array.c/Makefile
/spdk/test/unit/lib/util/bit_array.c/bit_array_ut.c
/spdk/test/unit/lib/util/cpuset.c/Makefile
/spdk/test/unit/lib/util/cpuset.c/cpuset_ut.c
/spdk/test/unit/lib/util/crc16.c/Makefile
/spdk/test/unit/lib/util/crc16.c/crc16_ut.c
/spdk/test/unit/lib/util/crc32_ieee.c/Makefile
/spdk/test/unit/lib/util/crc32_ieee.c/crc32_ieee_ut.c
/spdk/test/unit/lib/util/crc32c.c/Makefile
/spdk/test/unit/lib/util/crc32c.c/crc32c_ut.c
/spdk/test/unit/lib/util/dif.c/Makefile
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/lib/util/iov.c/Makefile
/spdk/test/unit/lib/util/iov.c/iov_ut.c
/spdk/test/unit/lib/util/math.c/Makefile
/spdk/test/unit/lib/util/math.c/math_ut.c
/spdk/test/unit/lib/util/pipe.c/Makefile
/spdk/test/unit/lib/util/pipe.c/pipe_ut.c
/spdk/test/unit/lib/util/string.c/Makefile
/spdk/test/unit/lib/util/string.c/string_ut.c
/spdk/test/unit/lib/vhost/Makefile
/spdk/test/unit/lib/vhost/vhost.c/Makefile
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/vfiouserbuild/Makefile
e4584d9311-May-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Poll adminq more often during ctrlr disconnection

During ctrlr reconnection, spdk_nvme_ctrlr_reconnect_poll_async()
is executed by a non-timed poller.

We should poll adminq more often du

bdev/nvme: Poll adminq more often during ctrlr disconnection

During ctrlr reconnection, spdk_nvme_ctrlr_reconnect_poll_async()
is executed by a non-timed poller.

We should poll adminq more often during ctrlr disconnection too.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib1f5b41015aed20deda8df6f2c837981ac233c04
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12615
Reviewed-by: Dong Yi <dongx.yi@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

fcf52fbf09-May-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Reversed orderings for reset between PCIe and NVMe-oF

As described in the NVMe specification, a controller level reset
includes the following actions:
- the controller stops processing an

bdev/nvme: Reversed orderings for reset between PCIe and NVMe-oF

As described in the NVMe specification, a controller level reset
includes the following actions:
- the controller stops processing any outstanding admin or I/O
commands;
- all I/O SQs and CQs are deleted.

In a full controller reset sequence for a PCIe controller, if we do
a controller level reset first, we can abort outstanding commands
after the hardware has actually been stopped.

For NVMe-oF controller, each I/O qpair is an independent network
connection and is disconnected safely. We do not want to change
NVMe-oF controller.

Fixes the issue #2360

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: If05febac74705bfd3df5abd15064c1203126e027
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12447
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


/spdk/CONFIG
/spdk/Makefile
/spdk/configure
/spdk/doc/Doxyfile
/spdk/doc/jsonrpc.md
/spdk/doc/sma.md
/spdk/doc/user_guides.md
/spdk/dpdkbuild/Makefile
/spdk/include/spdk/bdev.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie_common.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/nvmf/vfio_user.c
/spdk/libvfio-user
/spdk/module/bdev/malloc/bdev_malloc_rpc.c
/spdk/module/bdev/null/bdev_null_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/ocf
/spdk/python/Makefile
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/sma/__init__.py
/spdk/python/spdk/sma/common.py
/spdk/python/spdk/sma/device/__init__.py
/spdk/python/spdk/sma/device/device.py
/spdk/python/spdk/sma/device/nvmf_tcp.py
/spdk/python/spdk/sma/device/vhost_blk.py
/spdk/python/spdk/sma/proto/.gitignore
/spdk/python/spdk/sma/proto/nvme.proto
/spdk/python/spdk/sma/proto/nvmf.proto
/spdk/python/spdk/sma/proto/nvmf_tcp.proto
/spdk/python/spdk/sma/proto/sma.proto
/spdk/python/spdk/sma/proto/virtio_blk.proto
/spdk/python/spdk/sma/qmp.py
/spdk/python/spdk/sma/sma.py
/spdk/python/spdk/sma/volume/__init__.py
/spdk/python/spdk/sma/volume/volume.py
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep/arch.sh
/spdk/scripts/pkgdep/debian.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/rpc.py
/spdk/scripts/setup.sh
/spdk/scripts/sma-client.py
/spdk/scripts/sma.py
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/skipped_tests.txt
/spdk/test/external_code/hello_world/bdev.json
/spdk/test/external_code/hello_world/bdev_external.json
/spdk/test/json_config/alias_rpc/alias_rpc.sh
/spdk/test/json_config/alias_rpc/conf.json
/spdk/test/lvol/basic.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvmf/host/discovery.sh
/spdk/test/sma/common.sh
/spdk/test/sma/discovery.sh
/spdk/test/sma/nvmf_tcp.sh
/spdk/test/sma/plugins.sh
/spdk/test/sma/plugins/plugin1/__init__.py
/spdk/test/sma/plugins/plugin2/__init__.py
/spdk/test/sma/sma.sh
/spdk/test/sma/vhost_blk.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
00d46b8002-May-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Disable automatic failback in multipath mode

By default, failback to the preferred I/O path is done automatically
if it is restored. Some users may want to keep using the backup I/O
path

bdev/nvme: Disable automatic failback in multipath mode

By default, failback to the preferred I/O path is done automatically
if it is restored. Some users may want to keep using the backup I/O
path even if the preferred I/O path is restored. In this case,
bdev_nvme_set_preferred_path can be used to do manual failback.

We may be able to clear/fill I/O path cache more strictly but it will
be complicated and have bugs. This patch does the minimal change,
just skips an apparent case.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I78fe5faee6ff04e88ae3d7c6be6da1c20637c912
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12431
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/autobuild.sh
/spdk/doc/Doxyfile
/spdk/doc/accel_fw.md
/spdk/doc/bdev.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvme_multipath.md
/spdk/doc/user_guides.md
/spdk/dpdk
/spdk/dpdkbuild/Makefile
/spdk/examples/idxd/perf/perf.c
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/blob.h
/spdk/include/spdk/dma.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/sock.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/blob/blob_bs_dev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/request.c
/spdk/lib/blob/request.h
/spdk/lib/blob/spdk_blob.map
/spdk/lib/blob/zeroes.c
/spdk/lib/dma/dma.c
/spdk/lib/dma/spdk_dma.map
/spdk/lib/env_dpdk/pci.c
/spdk/lib/event/log_rpc.c
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/nbd/nbd_rpc.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/scsi/scsi_rpc.c
/spdk/lib/vfio_user/Makefile
/spdk/lib/vfio_user/host/Makefile
/spdk/lib/vfio_user/host/spdk_vfio_user.map
/spdk/lib/vfio_user/host/vfio_user.c
/spdk/lib/vfio_user/host/vfio_user_internal.h
/spdk/lib/vfio_user/host/vfio_user_pci.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_scsi.c
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/accel/ioat/accel_engine_ioat_rpc.c
/spdk/module/bdev/lvol/vbdev_lvol.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/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/blob/bdev/blob_bdev.c
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/iscsi.py
/spdk/python/spdk/rpc/log.py
/spdk/python/spdk/rpc/nbd.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep/common.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/rpc.py
/spdk/scripts/vagrant/autorun-spdk.conf
/spdk/test/app/stub/stub.c
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/apt-get
/spdk/test/common/config/pkgdep/dnf
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/os/rhel
/spdk/test/common/config/pkgdep/pacman
/spdk/test/common/config/pkgdep/pkg
/spdk/test/common/config/pkgdep/yum
/spdk/test/common/skipped_build_files.txt
/spdk/test/compress/compress.sh
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/discovery.sh
/spdk/test/nvmf/host/dma.sh
/spdk/test/nvmf/host/multipath.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/connect_disconnect.sh
/spdk/test/ocf/management/create-destruct.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/blob/bs_dev_common.c
/spdk/test/unit/lib/blobfs/blobfs_async_ut/blobfs_async_ut.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/dma/dma.c/dma_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
8f9b977529-Apr-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Add active/active policy for multipath mode

The NVMe bdev module supported active-passive policy for multipath mode
first. By this patch, the NVMe bdev module supports active-active polic

bdev/nvme: Add active/active policy for multipath mode

The NVMe bdev module supported active-passive policy for multipath mode
first. By this patch, the NVMe bdev module supports active-active policy
for multipath node next. Following the Linux kernel native NVMe multipath,
the NVMe bdev module supports round robin algorithm for active-active
policy.

The multipath policy, active-passive or active-active, is managed per
nvme_bdev. The multipath policy is copied to all corresponding
nvme_bdev_channels.

Different from active-passive, active-active caches even non_optimized
path to provide load balance across multiple paths.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ie18b24db60d3da1ce2f83725b6cd3079f628f95b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12001
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...

22b77a3c13-Apr-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Set preferred I/O path in multipath mode

If we specify a preferred path manually for each NVMe bdev, we will
be able to realize a simple static load balancing and make the failover
more c

bdev/nvme: Set preferred I/O path in multipath mode

If we specify a preferred path manually for each NVMe bdev, we will
be able to realize a simple static load balancing and make the failover
more controllable in the multipath mode.

The idea is to move I/O path to the NVMe-oF controller to the head of
the list and then clear the I/O path cache for each NVMe bdev channel.
We can set the I/O path to the I/O path cache directly but it must be
conditional and make the code very complex. Hence, let find_io_path() do
that.

However, a NVMe bdev channel may be acquired after setting the preferred
path. To cover such case, sort the nvme_ns list of the NVMe bdev too.

This feature supports only multipath mode. The NVMe bdev module supports
failover mode too. However, to support the latter, the new RPC needs to
have trid as parameters and the code and the usage will be come very
complex. Add a note for such limitation.

To verify one by one exactly, add unit test.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ia51c74f530d6d7dc1f73d5b65f854967363e76b0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12262
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: <tanl12@chinatelecom.cn>
Reviewed-by: GangCao <gang.cao@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

2bc134eb06-Apr-2022 Alex Michon <amichon@kalrayinc.com>

bdev/nvme: Fix aborting fuse commands

When sending a fused compare and write command, we pass a callback
bdev_nvme_comparev_and_writev_done that we expect to be called twice
before marking the io as

bdev/nvme: Fix aborting fuse commands

When sending a fused compare and write command, we pass a callback
bdev_nvme_comparev_and_writev_done that we expect to be called twice
before marking the io as completed. In order to detect if a call to
bdev_nvme_comparev_and_writev_done is the first or the second one, we
currently rely on the opcode in cdw0. However, cdw0 may be set to 0,
especially when aborting the command. This may cause use-after-free
issues and this may call the user callbacks twice instead of once.
Use a bit in the nvme_bdev_io instead to keep track of the number of
calls to bdev_nvme_comparev_and_writev_done.

Signed-off-by: Alex Michon <amichon@kalrayinc.com>
Change-Id: I0474329e87648e44b08998d0552b2a9dd5d34ac2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12180
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...

50b6329c20-Apr-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Factor out ctrlr info json dump into a helper function

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I7f1e08ff13d890cb780e7b66c18a77ab85c82029
Reviewed-on: https://re

bdev/nvme: Factor out ctrlr info json dump into a helper function

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I7f1e08ff13d890cb780e7b66c18a77ab85c82029
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12311
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...

13ca6e5207-Apr-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Handle ANA transition (change or inaccessible state) correctly

Previously, if a namespace is in ANA inaccessible state, I/O had been
queued infinitely. Fix this issue according to the NVM

bdev/nvme: Handle ANA transition (change or inaccessible state) correctly

Previously, if a namespace is in ANA inaccessible state, I/O had been
queued infinitely. Fix this issue according to the NVMe spec.

Add a temporary poller anatt_timer and a flag ana_transition_timedout for
each nvme_ns.

Start anatt_timer if the nvme_ns enters ANA transition. If anatt_timer
is expired, set ana_transition_timedout to true. Cancel anatt_timer or
clear ana_transition_timedout if the nvme_ns exits ANA transition.

nvme_io_path_become_available() returns false if ana_transition_timedout
is true.

Add unit test case to verify these addition.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ic76933242046b3e8e553de88221b943ad097c91c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12194
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Monica Kenguva <monica.kenguva@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_top/spdk_top.c
/spdk/autobuild.sh
/spdk/autorun_post.py
/spdk/autotest.sh
/spdk/doc/jsonrpc.md
/spdk/doc/performance_reports.md
/spdk/examples/accel/perf/accel_perf.c
/spdk/include/spdk/accel_engine.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/vhost.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/include/spdk_internal/sock.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/idxd/idxd_user.c
/spdk/lib/iscsi/md5.c
/spdk/lib/iscsi/md5.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_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_vfio_user.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/sock/sock.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/lib/vmd/vmd.c
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/pmem/bdev_pmem.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/scripts/bpf/nvme.bt
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/vhost/run_vhost_test.py
/spdk/scripts/rpc.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/app/fuzz/common/fuzz_rpc.py
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/bdev/bdevio/bdevio.c
/spdk/test/bdev/bdevio/tests.py
/spdk/test/bdev/bdevperf/bdevperf.py
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/dpdk/21.11+/dpdk_qat.patch
/spdk/test/iscsi_tgt/common.sh
/spdk/test/nvme/hw_hotplug.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvmf/host/async_init.sh
/spdk/test/nvmf/target/multitarget_rpc.py
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
3edf1e2010-Feb-2022 Ben Walker <benjamin.walker@intel.com>

test/bdev: In bdev_nvme_ut, handle spdk_nvme_poll_group_remove when
there is no group

The real implementation handles this by returning -ENOENT, so do the
same in the test.

Signed-off-by: Ben Walke

test/bdev: In bdev_nvme_ut, handle spdk_nvme_poll_group_remove when
there is no group

The real implementation handles this by returning -ENOENT, so do the
same in the test.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I405b6f60bf4dcdb22c57e48bbaf66d57522a49c5
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11508
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>

show more ...

2250a44110-Feb-2022 Ben Walker <benjamin.walker@intel.com>

test/bdev: In bdev_nvme_ut, count a disconnect as "activity"

Count disconnecting a queue pair as activity so that the unit test
poll_threads() calls don't bail out until the disconnectedd_qpair_cb i

test/bdev: In bdev_nvme_ut, count a disconnect as "activity"

Count disconnecting a queue pair as activity so that the unit test
poll_threads() calls don't bail out until the disconnectedd_qpair_cb is
called at least once.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: Idc437d6c589dbf133bfcbb5edba1087f928a718c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11507
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>

show more ...

c867783930-Mar-2022 Ben Walker <benjamin.walker@intel.com>

bdev/nvme: Remove ctrlr from nvme_ctrlr_channel

This was neither set nor used.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I3119135843c5fc0b8724e593db40df46e6b5bdb0
Reviewed-on

bdev/nvme: Remove ctrlr from nvme_ctrlr_channel

This was neither set nor used.

Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Change-Id: I3119135843c5fc0b8724e593db40df46e6b5bdb0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12097
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_dd/spdk_dd.c
/spdk/app/spdk_top/spdk_top.c
/spdk/autobuild.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/bdev.md
/spdk/doc/bdev_pg.md
/spdk/doc/jsonrpc.md
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/blob/cli/blobcli.c
/spdk/examples/interrupt_tgt/interrupt_plugin.py
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/accel_engine.h
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/dif.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/sock.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/idxd/idxd_user.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_discovery.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/rdma.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/sock/sock.c
/spdk/lib/util/dif.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_scsi.c
/spdk/mk/spdk.lib_deps.mk
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/accel/ioat/accel_engine_ioat.c
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/aio/bdev_aio.h
/spdk/module/bdev/aio/bdev_aio_rpc.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/crypto/vbdev_crypto.h
/spdk/module/bdev/crypto/vbdev_crypto_rpc.c
/spdk/module/bdev/delay/vbdev_delay.c
/spdk/module/bdev/delay/vbdev_delay.h
/spdk/module/bdev/delay/vbdev_delay_rpc.c
/spdk/module/bdev/error/vbdev_error.c
/spdk/module/bdev/error/vbdev_error.h
/spdk/module/bdev/error/vbdev_error_rpc.c
/spdk/module/bdev/ftl/bdev_ftl.c
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/iscsi/bdev_iscsi.h
/spdk/module/bdev/iscsi/bdev_iscsi_rpc.c
/spdk/module/bdev/malloc/bdev_malloc.c
/spdk/module/bdev/malloc/bdev_malloc.h
/spdk/module/bdev/malloc/bdev_malloc_rpc.c
/spdk/module/bdev/null/bdev_null.c
/spdk/module/bdev/null/bdev_null.h
/spdk/module/bdev/null/bdev_null_rpc.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/ocf/utils.c
/spdk/module/bdev/ocf/utils.h
/spdk/module/bdev/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/vbdev_ocf.h
/spdk/module/bdev/ocf/vbdev_ocf_rpc.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/bdev/passthru/vbdev_passthru.h
/spdk/module/bdev/passthru/vbdev_passthru_rpc.c
/spdk/module/bdev/pmem/bdev_pmem.c
/spdk/module/bdev/pmem/bdev_pmem.h
/spdk/module/bdev/pmem/bdev_pmem_rpc.c
/spdk/module/bdev/raid/Makefile
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/concat.c
/spdk/module/bdev/raid/raid0.c
/spdk/module/bdev/rbd/bdev_rbd.c
/spdk/module/bdev/rbd/bdev_rbd.h
/spdk/module/bdev/rbd/bdev_rbd_rpc.c
/spdk/module/bdev/split/vbdev_split_rpc.c
/spdk/module/bdev/uring/bdev_uring.c
/spdk/module/bdev/uring/bdev_uring.h
/spdk/module/bdev/uring/bdev_uring_rpc.c
/spdk/module/bdev/virtio/bdev_virtio_blk.c
/spdk/module/bdev/zone_block/vbdev_zone_block.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/python/spdk/__init__.py
/spdk/python/spdk/rpc/__init__.py
/spdk/python/spdk/rpc/app.py
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/blobfs.py
/spdk/python/spdk/rpc/client.py
/spdk/python/spdk/rpc/cmd_parser.py
/spdk/python/spdk/rpc/env_dpdk.py
/spdk/python/spdk/rpc/helpers.py
/spdk/python/spdk/rpc/idxd.py
/spdk/python/spdk/rpc/ioat.py
/spdk/python/spdk/rpc/iscsi.py
/spdk/python/spdk/rpc/log.py
/spdk/python/spdk/rpc/lvol.py
/spdk/python/spdk/rpc/nbd.py
/spdk/python/spdk/rpc/notify.py
/spdk/python/spdk/rpc/nvme.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/python/spdk/rpc/pmem.py
/spdk/python/spdk/rpc/sock.py
/spdk/python/spdk/rpc/subsystem.py
/spdk/python/spdk/rpc/trace.py
/spdk/python/spdk/rpc/vhost.py
/spdk/python/spdk/rpc/vmd.py
/spdk/python/spdk/spdkcli/__init__.py
/spdk/python/spdk/spdkcli/ui_node.py
/spdk/python/spdk/spdkcli/ui_node_iscsi.py
/spdk/python/spdk/spdkcli/ui_node_nvmf.py
/spdk/python/spdk/spdkcli/ui_root.py
/spdk/rpmbuild/spdk.spec
/spdk/scripts/iostat.py
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc_http_proxy.py
/spdk/scripts/setup.sh
/spdk/scripts/spdkcli.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/app/fuzz/common/fuzz_rpc.py
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/bdevio/tests.py
/spdk/test/bdev/bdevperf/bdevperf.py
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/dnf
/spdk/test/common/config/pkgdep/git
/spdk/test/common/skipped_tests.txt
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/event/scheduler/scheduler_plugin.py
/spdk/test/interrupt/reactor_set_interrupt.sh
/spdk/test/interrupt/reap_unregistered_poller.sh
/spdk/test/iscsi_tgt/filesystem/filesystem.sh
/spdk/test/json_config/clear_config.py
/spdk/test/json_config/json_config.sh
/spdk/test/nvme/Makefile
/spdk/test/nvme/fused_ordering/.gitignore
/spdk/test/nvme/fused_ordering/Makefile
/spdk/test/nvme/fused_ordering/fused_ordering.c
/spdk/test/nvme/sw_hotplug.sh
/spdk/test/nvmf/host/dma.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/filesystem.sh
/spdk/test/nvmf/target/fused_ordering.sh
/spdk/test/nvmf/target/llvm_nvme_fuzz.sh
/spdk/test/nvmf/target/multitarget_rpc.py
/spdk/test/nvmf/target/queue_depth.sh
/spdk/test/ocf/management/configuration-change.sh
/spdk/test/rpc/rpc.sh
/spdk/test/rpc/rpc_plugin.py
/spdk/test/setup/devices.sh
/spdk/test/unit/lib/accel/accel.c/accel_engine_ut.c
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/compress.c/compress_ut.c
/spdk/test/unit/lib/bdev/crypto.c/crypto_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/part.c/part_ut.c
/spdk/test/unit/lib/bdev/pmem/bdev_pmem_ut.c
/spdk/test/unit/lib/bdev/raid/Makefile
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/raid/concat.c/Makefile
/spdk/test/unit/lib/bdev/raid/concat.c/concat_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/nvme/nvme.c/nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/sock/posix.c/posix_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/sock/uring.c/uring_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/unittest.sh
c20dd8af25-Nov-2021 Alexey Marchuk <alexeymar@mellanox.com>

bdev: Add ext_opts in public bdev_io section

Bdev modules must not access internal bdev_io
structure, so add a new pointer in a public
section. Pointer in internal section will be
used in next patch

bdev: Add ext_opts in public bdev_io section

Bdev modules must not access internal bdev_io
structure, so add a new pointer in a public
section. Pointer in internal section will be
used in next patch

Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Change-Id: Ib631563015b3e5fa9300d22b7ae59d8db43c8275
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10421
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: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...


/spdk/app/trace/trace.cpp
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/accel_fw.md
/spdk/doc/jsonrpc.md
/spdk/examples/idxd/perf/perf.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk_internal/idxd.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/event/reactor.c
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_kernel.c
/spdk/lib/idxd/idxd_user.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie_common.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/thread/thread.c
/spdk/lib/util/fd_group.c
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/accel/idxd/accel_engine_idxd.h
/spdk/module/accel/idxd/accel_engine_idxd_rpc.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/scripts/bpf/intr-wakeups.bt
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc/idxd.py
/spdk/test/app/fuzz/llvm_nvme_fuzz/llvm_nvme_fuzz.c
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/nvme/aer/aer.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/failover.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/multiconnection.sh
/spdk/test/nvmf/target/nvmf_vfio_user.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/spdkcli/nvmf.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/idxd/Makefile
/spdk/test/unit/lib/idxd/idxd_user.c/idxd_user_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_ut.c
/spdk/test/unit/unittest.sh
0b32309b27-Jan-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Check not only I/O qpair but also adminq when finding optimal I/O path

For RDMA transport, adminq will find transport error first because
usually only adminq polls CM events.

Change-Id:

bdev/nvme: Check not only I/O qpair but also adminq when finding optimal I/O path

For RDMA transport, adminq will find transport error first because
usually only adminq polls CM events.

Change-Id: I7b22cc8883bf02198f1a90d2654c1de6f2e736e6
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11331
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...

3182be6d08-Mar-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Fail fast I/O qpair if poll_group_process_completions() returns negated errno

If qpair is disconnected asynchronously, it takes time from detecting
transport error to actually disconnecte

bdev/nvme: Fail fast I/O qpair if poll_group_process_completions() returns negated errno

If qpair is disconnected asynchronously, it takes time from detecting
transport error to actually disconnected. We should avoid using the
path as soon as possible after detecting any transport error.

Poll group clears I/O path cache if it finds transport error and avoid
using the path which had transport error.

These changes will reduce the failover time.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I00580159a84372a115ed5e62a6ce13eed4368999
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11329
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...

aca0d56e28-Jan-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Reconnect ctrlr after it is disconnected at completion poller

spdk_nvme_ctrlr_disconnect() will be made asynchronous in the
following patches and so we will need to have some changes.

sp

bdev/nvme: Reconnect ctrlr after it is disconnected at completion poller

spdk_nvme_ctrlr_disconnect() will be made asynchronous in the
following patches and so we will need to have some changes.

spdk_nvme_ctrlr_disconnect() disconnects adminq and ctrlr synchronously
now.

If spdk_nvme_ctrlr_disconnect() is made asynchronous,
spdk_nvme_ctrlr_process_admin_completions() will complete to disconnect
adminq and ctrlr, and will return -ENXIO only if adminq is disconnected.

However even now spdk_nvme_ctrlr_process_admin_completions() returns
-ENXIO if adminq is disconnected.

So as a preparation, set a callback before calling spdk_nvme_ctrlr_disconnect()
and call the callback if it is set and spdk_nvme_ctrlr_process_admin_completions()
returns -ENXIO.

Besides, fix the return value of bdev_nvme_poll_adminq() in this patch.

Change-Id: I2559f86bb8cf9a92b5b386ed816c00b08c9832df
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10950
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...

a76bbe3509-Mar-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev/nvme: Disconnect and then free I/O qpair in a ctrlr reset sequence

As we do when deleting ctrlr_channel, disconnect and then free I/O
qpair in a ctrlr reset sequence.

Deleting ctrlr_channel an

bdev/nvme: Disconnect and then free I/O qpair in a ctrlr reset sequence

As we do when deleting ctrlr_channel, disconnect and then free I/O
qpair in a ctrlr reset sequence.

Deleting ctrlr_channel and resetting ctrlr_channel may cause conflicts.
This patch processes such conflicts correctly.

If destroy_ctrlr_channel_cb() is executed between pending and executing
reset_destroy_qpair(), reset_destroy_qpair() is not executed because
ctrlr_channel is not found. In this case, destroy_qpair_channel()
starts disconnecting qpair and deletes ctrlr_channel. Then
disconnected_qpair_cb() releases a reference to poll group.

If destroy_ctrlr_channel_cb() is excuted between executing reset_destroy_qpair()
and disconnected_qpair_cb(), destroy_ctrlr_channel_cb() skips
ctrlr_channel for a reset sequence.

Change-Id: I1f49f74b94aefbea178680aa53ded3a12876c676
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10766
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...

1285481910-Feb-2022 Shuhei Matsumoto <smatsumoto@nvidia.com>

nvme: Free I/O qpair now even if it is in poll group completion

spdk_nvme_poll_group has followed spdk_nvme_qpair about how to
process I/O qpair deletion inside of a completion context.

spdk_nvme_q

nvme: Free I/O qpair now even if it is in poll group completion

spdk_nvme_poll_group has followed spdk_nvme_qpair about how to
process I/O qpair deletion inside of a completion context.

spdk_nvme_qpair_process_completions() accesses qpair after
returning from nvme_transport_qpair_process_completions().

So this is reasonable.

On the other hand, if spdk_nvme_poll_group_process_completions()
can execute spdk_nvme_ctrlr_free_io_qpair() inside of a completion
context, the target qpair is ensured to be deleted after returning
from spdk_nvme_ctrlr_free_io_qpair(). Then the target qpair is
not accessed anymore in spdk_nvme_poll_group_process_completions().

Remove two variables, in_completion_context and num_qpairs_to_delete,
of spdk_nvme_transport_poll_group and the related code.

This change is really necessary to support the following case.

In the NVMe bdev module, a nvme_qpair has a qpair and a poll_group
channel. disconnected_qpair_cb calls spdk_nvme_ctrlr_free_io_qpair()
for the qpair and spdk_put_io_channel() to the poll_group_channel.
spdk_nvme_ctrlr_free_io_qpair() is executed after unwinding stack
but spdk_put_io_channel() is executed now. The callback to
spdk_put_io_channel() calls spdk_nvme_poll_group_destroy(). However,
spdk_nvme_ctrlr_free_io_qpair() is not executed. Hence
spdk_nvme_poll_group_destroy() fails.

Update the corresponding stub in unit test together.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Icd1f1daf049c6c7ffb28790fe87989a1060f8952
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11496
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

123456789