History log of /spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/ (Results 176 – 200 of 221)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1f433c4c02-Jul-2021 Jacek Kalwas <jacek.kalwas@intel.com>

bdev/nvme: prefer NGUID over UUID if supported

NVMe specification defines namespace identification descriptors i.e.
EUI64, NGUID, UUID.

BDEV abstracts NVMe specific details that is why only UUID is

bdev/nvme: prefer NGUID over UUID if supported

NVMe specification defines namespace identification descriptors i.e.
EUI64, NGUID, UUID.

BDEV abstracts NVMe specific details that is why only UUID is exposed,
however if NGUID is supported it is prefered to identify namespace
with NGUID over UUID.

If NGUID is not supported by NVMe Controller then fallback to UUID.

Signed-off-by: Jacek Kalwas <jacek.kalwas@intel.com>
Change-Id: If51889a3664c0daa7cbe983048231793e3c502e0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8627
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/app/spdk_top/spdk_top.c
/spdk/app/trace/Makefile
/spdk/app/trace/trace.cpp
/spdk/autotest.sh
/spdk/configure
/spdk/doc/jsonrpc.md
/spdk/doc/misc.md
/spdk/doc/performance_reports.md
/spdk/doc/spdk_top.md
/spdk/dpdk
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/blob/hello_world/hello_blob.c
/spdk/examples/nvme/abort/abort.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/include/spdk/idxd.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/trace.h
/spdk/include/spdk/vfio_user_spec.h
/spdk/include/spdk_internal/thread.h
/spdk/include/spdk_internal/usdt.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/env.mk
/spdk/lib/event/app_rpc.c
/spdk/lib/event/scheduler_dynamic.c
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_user.c
/spdk/lib/idxd/spdk_idxd.map
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/scsi/lun.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/lib/thread/thread_internal.h
/spdk/lib/trace/Makefile
/spdk/lib/trace/spdk_trace.map
/spdk/lib/trace/trace.c
/spdk/lib/trace/trace_flags.c
/spdk/lib/vfio_user/vfio_user.c
/spdk/libvfio-user
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/nvme/common.c
/spdk/module/bdev/nvme/common.h
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/rpmbuild/spdk.spec
/spdk/scripts/bpf/nvmf.bt
/spdk/scripts/bpf/trace.py
/spdk/scripts/check_format.sh
/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/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/app/fuzz/iscsi_fuzz/iscsi_fuzz.c
/spdk/test/app/fuzz/nvme_fuzz/nvme_fuzz.c
/spdk/test/app/stub/stub.c
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/dpdk_memory_utility/test_dpdk_mem_info.sh
/spdk/test/env/env_dpdk_post_init/env_dpdk_post_init.c
/spdk/test/iscsi_tgt/rpc_config/rpc_config.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/aer/aer.c
/spdk/test/nvme/e2edp/nvme_dp.c
/spdk/test/nvme/err_injection/err_injection.c
/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/target/multipath.sh
/spdk/test/nvmf/target/rpc.sh
/spdk/test/ocf/management/remove.sh
/spdk/test/scheduler/interrupt.sh
/spdk/test/scheduler/load_balancing.sh
/spdk/test/setup/hugepages.sh
/spdk/test/spdkcli/common.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/nvme/bdev_ocssd.c/bdev_ocssd_ut.c
/spdk/test/unit/lib/bdev/raid/bdev_raid.c/bdev_raid_ut.c
/spdk/test/unit/lib/bdev/vbdev_zone_block.c/vbdev_zone_block_ut.c
/spdk/test/unit/lib/blob/bs_dev_common.c
/spdk/test/unit/lib/blob/bs_scheduler.c
/spdk/test/unit/lib/blobfs/blobfs_sync_ut/blobfs_sync_ut.c
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/idxd/idxd.c/idxd_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_pcie.c/nvme_pcie_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/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/common.sh
7ea4a77813-Jun-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Consolidate populate_namespace_cb() calls for error cases into connect_attach_cb()

Consolidate populate_namespaces_cb() calls for error cases into
connect_attach_cb(). Then remove ctx pa

bdev/nvme: Consolidate populate_namespace_cb() calls for error cases into connect_attach_cb()

Consolidate populate_namespaces_cb() calls for error cases into
connect_attach_cb(). Then remove ctx parameter from
bdev_nvme_add_secondary_trid() because it is not necessary now.

The next patch will inline _nvme_bdev_ctrlr_create() into
nvme_bdev_ctrlr_create().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ia94f456df160c1cc874acac4c70aad27102cb0b6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8314
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

ef7738b314-May-2021 Changpeng Liu <changpeng.liu@intel.com>

bdev/nvme: enable write zeroes split support in bdev layer

Change-Id: I4d54ac4b6aeaf1f1103c3ccb955da87334ce59f2
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spd

bdev/nvme: enable write zeroes split support in bdev layer

Change-Id: I4d54ac4b6aeaf1f1103c3ccb955da87334ce59f2
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7876
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_top/spdk_top.c
/spdk/doc/jsonrpc.md
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/env.h
/spdk/include/spdk/pci_ids.h
/spdk/include/spdk/util.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/include/spdk_internal/event.h
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/sigbus_handler.c
/spdk/lib/event/gscheduler.c
/spdk/lib/event/reactor.c
/spdk/lib/event/scheduler_dynamic.c
/spdk/lib/idxd/idxd.c
/spdk/lib/ioat/ioat.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_rpc.c
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_quirks.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/scsi/scsi.c
/spdk/lib/scsi/scsi_internal.h
/spdk/lib/virtio/virtio_pci.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/blobfs/bdev/blobfs_fuse.c
/spdk/module/sock/posix/posix.c
/spdk/scripts/rpc.py
/spdk/scripts/rpc/iscsi.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/test/common/config/pkgdep/git
/spdk/test/spdkcli/match_files/spdkcli_iscsi.test.match
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/event/reactor.c/reactor_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/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
2dd2d19707-Jun-2021 Swapnil Ingle <swapnil.ingle@nutanix.com>

bdev/nvme: Set bdev phys_blocklen

Set nvme bdev physical block size based value of NPWG and NAWUPF namespace
field.
The logic to set bdev phys_blocklen is based on how Linux nvme block driver
sets i

bdev/nvme: Set bdev phys_blocklen

Set nvme bdev physical block size based value of NPWG and NAWUPF namespace
field.
The logic to set bdev phys_blocklen is based on how Linux nvme block driver
sets it. If the underlying nvme namespace supports NPWG/NAWUPF then bdev
phys_blocklen is set to min(npwg, nawupf)

Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Change-Id: I6d254a9e730dccc230b9db4d1217bf7ab2f39b6c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8224
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/trace/trace.cpp
/spdk/autopackage.sh
/spdk/doc/Doxyfile
/spdk/doc/usdt.md
/spdk/doc/user_guides.md
/spdk/examples/util/zipf/zipf.c
/spdk/include/spdk/accel_engine.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/tree.h
/spdk/include/spdk_internal/accel_engine.h
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel_engine.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/bdev.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/spdk_idxd.map
/spdk/lib/iscsi/conn.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.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_vfio_user.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/thread/thread.c
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.unittest.mk
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/rpmbuild/rpm.sh
/spdk/scripts/bpf/gen_enums.sh
/spdk/scripts/bpf/nvmf.bt
/spdk/scripts/bpftrace.sh
/spdk/scripts/common.sh
/spdk/scripts/iostat.py
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/qat/0001-cipher-ns.patch
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/lib/test_sock.c
/spdk/test/nvme/aer/aer.c
/spdk/test/nvmf/target/nvmf_vfio_user.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/bdev/part.c/part_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/iscsi/common.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/nvme/Makefile
/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_opal.c/.gitignore
/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/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_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/scsi/lun.c/lun_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/vhost.sh
55e4be3401-Jun-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: find_io_path() returns spdk_nvme_ns pointer directly

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I3f2b047c162c7d9cab69c273ca8ac5c2236314fa
Reviewed-on: ht

bdev/nvme: find_io_path() returns spdk_nvme_ns pointer directly

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I3f2b047c162c7d9cab69c273ca8ac5c2236314fa
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8149
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...

fdc4c13e31-May-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Rename nvme_io_channel by nvme_io_path

By the next patch, nvme_io_channel will be used as an I/O channel
to a single nvme_bdev. This channel is created to a single
nvme_bdev_ctrlr and has

bdev/nvme: Rename nvme_io_channel by nvme_io_path

By the next patch, nvme_io_channel will be used as an I/O channel
to a single nvme_bdev. This channel is created to a single
nvme_bdev_ctrlr and has a corresponding I/O qpair. nvme_io_path
will be a better name especially when we support multipath.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ic34162f3c383676c5249396a09173329fc6febce
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8095
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

5863f95a31-May-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Submit abort command for admin command on the current thread

Previously only a single thread could submit abort commands for admin
commands and it was the thread of the corresponding cont

bdev/nvme: Submit abort command for admin command on the current thread

Previously only a single thread could submit abort commands for admin
commands and it was the thread of the corresponding controller.

When we support multipath, we need to traverse the list of controllers
to which the target admin command is submitted. Threads of controllers
may be different.

On the other hand, the previous implementation made the I/O flow very
clean, but the I/O flow will not be clean if there are many controllers
and the subsystem does not have its thread.

This patch changes the policy so that any SPDK thread can submit abort
commands for admin commands.

Then when multipath is supported, we will be able to traverse the
list of controllers simply on the current thread to abort either I/O
command or admin command.

We already are able to submit any admin command on any thread anytime
including abort command. Hence this will not cause any issue.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ib69de33f2e84b03861c7d95ce060035bdb589e4b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8121
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot

show more ...

d4558c6128-May-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Reduce conversion between spdk_bdev_io and nvme_bdev_io

We can hold bdev_io directly in nvme_bdev_ctrlr as an outstanding reset.

We can put spdk_bdev_io_from_ctx(bio) into a parameter fo

bdev/nvme: Reduce conversion between spdk_bdev_io and nvme_bdev_io

We can hold bdev_io directly in nvme_bdev_ctrlr as an outstanding reset.

We can put spdk_bdev_io_from_ctx(bio) into a parameter for a few
functions because it is used only once in a function.

Passing not spdk_bdev_io but nvme_bdev_io to bdev_nvme_verify_pi_error()
remove unnecessary substitution.

This is a little more efficient and simplifies the implementation.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: If49ad9fa42abf27decf3afcd8c994f55faa3bc70
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8094
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

924bfd0620-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Add ANA state per namespace into JSON info dump

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Idc0e783a2a4373a4269276aab8b1d857ed73caae
Reviewed-on: https:/

bdev/nvme: Add ANA state per namespace into JSON info dump

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Idc0e783a2a4373a4269276aab8b1d857ed73caae
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7509
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Monica Kenguva <monica.kenguva@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot

show more ...

8c2738a816-May-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Add UUID and EUI64 comparison to check if two namespaces are identical

Following Linux NVMe host, add UUID and EUI64 comparison to
bdev_nvme_compare_ns().

Besides, previously the return

bdev/nvme: Add UUID and EUI64 comparison to check if two namespaces are identical

Following Linux NVMe host, add UUID and EUI64 comparison to
bdev_nvme_compare_ns().

Besides, previously the return value of memcmp() had been used as
the return value of bdev_nvme_compare_ns() and this was wrong.
Fix it in this patch together.

Add unit test cases for bdev_nvme_compare_ns().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I069ab53e77741d6348b847d51e84a9338e2f3787
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7755
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/Makefile
/spdk/app/iscsi_tgt/Makefile
/spdk/app/nvmf_tgt/Makefile
/spdk/app/spdk_dd/Makefile
/spdk/app/spdk_tgt/Makefile
/spdk/app/spdk_top/spdk_top.c
/spdk/app/vhost/Makefile
/spdk/autobuild.sh
/spdk/autorun.sh
/spdk/autotest.sh
/spdk/configure
/spdk/doc/event.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf_tracing.md
/spdk/doc/vhost.md
/spdk/dpdk
/spdk/dpdkbuild/Makefile
/spdk/examples/Makefile
/spdk/examples/accel/perf/Makefile
/spdk/examples/bdev/fio_plugin/Makefile
/spdk/examples/bdev/fio_plugin/README.md
/spdk/examples/bdev/fio_plugin/bdev_zoned.json
/spdk/examples/bdev/fio_plugin/fio_plugin.c
/spdk/examples/bdev/fio_plugin/zbd_example.fio
/spdk/examples/bdev/hello_world/Makefile
/spdk/examples/blob/cli/Makefile
/spdk/examples/blob/hello_world/Makefile
/spdk/examples/interrupt_tgt/Makefile
/spdk/examples/nvme/fio_plugin/README.md
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvmf/nvmf/Makefile
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/sock/hello_world/Makefile
/spdk/examples/util/Makefile
/spdk/examples/util/zipf/Makefile
/spdk/examples/util/zipf/zipf.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/event.h
/spdk/include/spdk/histogram_data.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/init.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/stdinc.h
/spdk/include/spdk/tree.h
/spdk/include/spdk/vfio_user_spec.h
/spdk/include/spdk/zipf.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/init.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/thread.h
/spdk/include/spdk_internal/usdt.h
/spdk/lib/Makefile
/spdk/lib/accel/accel_engine.c
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/env_dpdk/env.c
/spdk/lib/event/Makefile
/spdk/lib/event/app.c
/spdk/lib/event/app_rpc.c
/spdk/lib/event/gscheduler.c
/spdk/lib/event/reactor.c
/spdk/lib/event/scheduler_dynamic.c
/spdk/lib/event/spdk_event.map
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/idxd/Makefile
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_user.c
/spdk/lib/init/Makefile
/spdk/lib/init/json_config.c
/spdk/lib/init/rpc.c
/spdk/lib/init/spdk_init.map
/spdk/lib/init/subsystem.c
/spdk/lib/init/subsystem.h
/spdk/lib/init/subsystem_rpc.c
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns_cmd.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/spdk_nvmf.map
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/transport.c
/spdk/lib/scsi/scsi.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/thread/Makefile
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/lib/util/Makefile
/spdk/lib/util/spdk_util.map
/spdk/lib/util/zipf.c
/spdk/lib/vfio_user/vfio_user.c
/spdk/lib/vfio_user/vfio_user_internal.h
/spdk/lib/vfio_user/vfio_user_pci.c
/spdk/libvfio-user
/spdk/mk/spdk.app.mk
/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/bdev/aio/bdev_aio.c
/spdk/module/bdev/aio/bdev_aio_rpc.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/iscsi/bdev_iscsi.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/ocf/utils.c
/spdk/module/bdev/ocf/utils.h
/spdk/module/bdev/ocf/vbdev_ocf.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/zone_block/vbdev_zone_block.c
/spdk/module/blob/bdev/blob_bdev.c
/spdk/module/event/subsystems/accel/accel.c
/spdk/module/event/subsystems/bdev/bdev.c
/spdk/module/event/subsystems/iscsi/iscsi.c
/spdk/module/event/subsystems/nbd/nbd.c
/spdk/module/event/subsystems/net/net.c
/spdk/module/event/subsystems/nvmf/event_nvmf.h
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/event/subsystems/scsi/scsi.c
/spdk/module/event/subsystems/sock/sock.c
/spdk/module/event/subsystems/vhost/vhost.c
/spdk/module/event/subsystems/vmd/vmd.c
/spdk/module/sock/posix/posix.c
/spdk/scripts/bpf/readv.bt
/spdk/scripts/bpf/send_msg.bt
/spdk/scripts/bpf/syscalls.bt
/spdk/scripts/bpftrace.sh
/spdk/scripts/common.sh
/spdk/scripts/fio-wrapper
/spdk/scripts/get-pmr
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/pkgdep/debian.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/scripts/rpc/client.py
/spdk/scripts/rpc/cmd_parser.py
/spdk/scripts/rpc/nvmf.py
/spdk/scripts/setup.sh
/spdk/scripts/vagrant/Vagrantfile
/spdk/test/app/bdev_svc/Makefile
/spdk/test/bdev/bdevio/Makefile
/spdk/test/bdev/bdevperf/Makefile
/spdk/test/bdev/bdevperf/bdevperf.c
/spdk/test/blobfs/blobfs.sh
/spdk/test/blobfs/mkfs/Makefile
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/pkg
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/skipped_tests.txt
/spdk/test/compress/compress.sh
/spdk/test/dd/common.sh
/spdk/test/dd/dd.sh
/spdk/test/event/app_repeat/Makefile
/spdk/test/event/event_perf/event_perf.c
/spdk/test/event/scheduler/Makefile
/spdk/test/external_code/hello_world/Makefile
/spdk/test/iscsi_tgt/common.sh
/spdk/test/iscsi_tgt/digests/digests.sh
/spdk/test/iscsi_tgt/fio/fio.sh
/spdk/test/iscsi_tgt/ip_migration/ip_migration.sh
/spdk/test/iscsi_tgt/login_redirection/login_redirection.sh
/spdk/test/iscsi_tgt/lvol/iscsi_lvol.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/trace_record/trace_record.sh
/spdk/test/json_config/json_config.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/Makefile
/spdk/test/nvme/cuse/cuse.c
/spdk/test/nvme/nvme_scc.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvme/simple_copy/.gitignore
/spdk/test/nvme/simple_copy/Makefile
/spdk/test/nvme/simple_copy/simple_copy.c
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/target_disconnect.sh
/spdk/test/nvmf/target/dif.sh
/spdk/test/nvmf/target/fio.sh
/spdk/test/nvmf/target/initiator_timeout.sh
/spdk/test/nvmf/target/invalid.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/srq_overwhelm.sh
/spdk/test/ocf/integrity/fio-modes.sh
/spdk/test/ocf/integrity/mallocs.conf
/spdk/test/ocf/management/configuration-change.sh
/spdk/test/ocf/management/create-destruct.sh
/spdk/test/ocf/management/persistent-metadata.sh
/spdk/test/ocf/management/remove.sh
/spdk/test/openstack/install_devstack.sh
/spdk/test/openstack/run_openstack_tests.sh
/spdk/test/scheduler/idle.sh
/spdk/test/setup/hugepages.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_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/event/Makefile
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/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/.gitignore
/spdk/test/unit/lib/init/subsystem.c/Makefile
/spdk/test/unit/lib/init/subsystem.c/subsystem_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_cuse.c/nvme_cuse_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_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_tcp.c/nvme_tcp_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/rdma.c/rdma_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/scsi/lun.c/lun_ut.c
/spdk/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/shared/bdev.json
3faf457f03-May-2021 Jim Harris <james.r.harris@intel.com>

bdev/nvme: do not use DSM to emulate write zeroes

We cannot rely on DSM/DEALLOCATE as a write zeroes
alternative, even if DLFEAT reports that deallocated
blocks will be read as all zeroes. DEALLOCA

bdev/nvme: do not use DSM to emulate write zeroes

We cannot rely on DSM/DEALLOCATE as a write zeroes
alternative, even if DLFEAT reports that deallocated
blocks will be read as all zeroes. DEALLOCATE is
advisory, meaning that blocks may not actually be
deallocated. In cases where they are not deallocated,
they will not be read back later as zeroes.

QEMU 6.0 started reporting DLFEAT as returning zeroes
for deallocated blocks but for some of our write
zeroes tests, blocks aren't actually deallocated.

We may be able to add quirks in the future if we know
that a controller reliably deallocates blocks, but
for now we need to revert this completely.

Note that since bdev/nvme module now does not support
write zeroes in any cases, we need to disable the
write zeroes call in the unit tests.

Fixes issue #1932.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I79f0673774b621a9ffcc46891728cc7719e34cdb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7723
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_top/spdk_top.c
/spdk/autobuild.sh
/spdk/autopackage.sh
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/Doxyfile
/spdk/doc/intro.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/doc/performance_reports.md
/spdk/doc/rpm.md
/spdk/dpdk
/spdk/examples/interrupt_tgt/interrupt_plugin.py
/spdk/examples/interrupt_tgt/interrupt_tgt.c
/spdk/examples/nvme/Makefile
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/examples/nvme/pmr_persistence/Makefile
/spdk/examples/nvme/pmr_persistence/pmr_persistence.c
/spdk/examples/vmd/led/Makefile
/spdk/examples/vmd/lsvmd/Makefile
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/bdev_zone.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/version.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/lvolstore.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/thread.h
/spdk/include/spdk_internal/virtio.h
/spdk/lib/accel/accel_engine.c
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_zone.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/blob/blobstore.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env_internal.h
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_dpdk/pci_event.c
/spdk/lib/event/app_rpc.c
/spdk/lib/event/dpdk_governor.c
/spdk/lib/event/log_rpc.c
/spdk/lib/event/reactor.c
/spdk/lib/idxd/Makefile
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/idxd/idxd_user.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/task.c
/spdk/lib/iscsi/task.h
/spdk/lib/jsonrpc/jsonrpc_client_tcp.c
/spdk/lib/jsonrpc/jsonrpc_server_tcp.c
/spdk/lib/nbd/nbd.c
/spdk/lib/net/net_rpc.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_ctrlr_cmd.c
/spdk/lib/nvme/nvme_cuse.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_io_msg.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_internal.h
/spdk/lib/nvme/nvme_quirks.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf_rpc.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/scsi/scsi_bdev.c
/spdk/lib/scsi/scsi_pr.c
/spdk/lib/sock/sock.c
/spdk/lib/sock/sock_rpc.c
/spdk/lib/sock/spdk_sock.map
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/lib/vfio_user/vfio_user.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/virtio/spdk_virtio.map
/spdk/lib/virtio/virtio_pci.c
/spdk/libvfio-user
/spdk/module/accel/idxd/accel_engine_idxd.c
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/error/vbdev_error_rpc.c
/spdk/module/bdev/iscsi/bdev_iscsi.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/rbd/bdev_rbd.c
/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/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/pkg/README
/spdk/pkg/spdk.spec
/spdk/scripts/check_format.sh
/spdk/scripts/get-pmr
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/config.json
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/nvmf/set_xps_rxqs
/spdk/scripts/pkgdep/common.sh
/spdk/scripts/rpc.py
/spdk/scripts/rpc/sock.py
/spdk/scripts/rpc/vhost.py
/spdk/scripts/vagrant/Vagrantfile
/spdk/scripts/vagrant/create_vbox.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/vm_setup.sh
/spdk/test/common/lib/test_sock.c
/spdk/test/common/skipped_tests.txt
/spdk/test/env/memory/memory_ut.c
/spdk/test/interrupt/interrupt_common.sh
/spdk/test/interrupt/reactor_set_interrupt.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/nvme_pmr.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/target/invalid.sh
/spdk/test/setup/acl.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/bdev_zone.c/bdev_zone_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/env_dpdk/Makefile
/spdk/test/unit/lib/env_dpdk/pci_event.c/.gitignore
/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/idxd/Makefile
/spdk/test/unit/lib/idxd/idxd.c/idxd_ut.c
/spdk/test/unit/lib/idxd/idxd_user.c/.gitignore
/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/iscsi/common.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/nvme/Makefile
/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_fabric.c/.gitignore
/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_ns.c/nvme_ns_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_poll_group.c/nvme_poll_group_ut.c
/spdk/test/unit/lib/nvme/nvme_qpair.c/nvme_qpair_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/ctrlr_bdev.c/ctrlr_bdev_ut.c
/spdk/test/unit/lib/nvmf/fc.c/fc_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/scsi/scsi_bdev.c/scsi_bdev_ut.c
/spdk/test/unit/lib/scsi/scsi_pr.c/scsi_pr_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/unittest.sh
/spdk/test/vhost/integrity/integrity_vm.sh
476b666112-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: Use attach/detach ctrlr for test_pending_reset()

This is necessary to the following patches to test reset continuation.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.co

ut/bdev_nvme: Use attach/detach ctrlr for test_pending_reset()

This is necessary to the following patches to test reset continuation.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I20e0a6b96694eb06adadfbe8e20f73380645ea43
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7326
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot

show more ...

f56563ad11-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: Use const variable for string array to avoid raw number

It is more readable to use const variable rather than raw number.
memset is the way to initialize variable size array.

Signed-o

ut/bdev_nvme: Use const variable for string array to avoid raw number

It is more readable to use const variable rather than raw number.
memset is the way to initialize variable size array.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I42f3f34422ea96e06a99bd6cc02e0e91349a4009
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7323
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot

show more ...

b96c0b2710-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: Populate namespaces by default when attaching ctrlr

Previously when attaching a ctrlr, all namespaces had not been
populated. Hence we had to populate each namespace manually.

It is m

ut/bdev_nvme: Populate namespaces by default when attaching ctrlr

Previously when attaching a ctrlr, all namespaces had not been
populated. Hence we had to populate each namespace manually.

It is more normal if all namespaces are populated when attaching the
corresponding ctrlr.

This patch does such change.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I55d9c444c492ba6e44a609eac81b1ef25a7190a8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7313
Community-CI: Broadcom CI
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: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

924081ce11-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: spdk_nvme_probe_poll_async() stub processes only a ctrlr whose trid matches

Previously spdk_nvme_probe_poll_async() had processed all attaching
controllers. Hence it was not easy to at

ut/bdev_nvme: spdk_nvme_probe_poll_async() stub processes only a ctrlr whose trid matches

Previously spdk_nvme_probe_poll_async() had processed all attaching
controllers. Hence it was not easy to attach multiple controllers in
unit tests.

Besides, add a check to exclude duplicated controllers into ut_attach_ctrlr().

If the target is any SPDK library, we should insert another patch
only to do code movement, but this is a unit test file, and so it
will be acceptable to include code movement in the same file.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I9e8eba6a67b2a6d0df384214ff84aa5b0c602217
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7312
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_dd/spdk_dd.c
/spdk/autopackage.sh
/spdk/doc/jsonrpc.md
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/nvme/identify/identify.c
/spdk/examples/nvme/perf/perf.c
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/queue_extras.h
/spdk/include/spdk_internal/thread.h
/spdk/lib/idxd/idxd_spec.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_pcie_internal.h
/spdk/lib/nvme/nvme_poll_group.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/nvme_vfio_user.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/transport.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rdma/rdma_mlx5_dv.c
/spdk/lib/thread/thread.c
/spdk/lib/vfio_user/vfio_user.c
/spdk/lib/vfio_user/vfio_user_pci.c
/spdk/lib/virtio/virtio_user.c
/spdk/libvfio-user
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/rpmbuild/rpm-deps.sh
/spdk/rpmbuild/rpm.sh
/spdk/rpmbuild/spdk.spec
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/common.py
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/vhost/run_vhost_test.py
/spdk/scripts/rpc.py
/spdk/scripts/rpc/bdev.py
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/README.md
/spdk/test/common/skipped_tests.txt
/spdk/test/event/event_perf/event_perf.c
/spdk/test/event/scheduler/scheduler.c
/spdk/test/external_code/nvme/nvme.c
/spdk/test/nvme/hotplug.sh
/spdk/test/setup/common.sh
/spdk/test/setup/devices.sh
bdev_nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr_cmd.c/nvme_ctrlr_cmd_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_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_poll_group.c/nvme_poll_group_ut.c
/spdk/test/unit/lib/nvme/nvme_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvmf/rdma.c/rdma_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/integrity/integrity_vm.sh
/spdk/test/vhost/manual.sh
/spdk/test/vhost/migration/migration-tc1.job
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.job
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/delete_partition_vm.sh
/spdk/test/vhost/vhost.sh
/spdk/test/vhost/windows/windows_scsi_compliance.sh
67a03bc710-Apr-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: spdk_nvme_detach() stub calls ut_detach_ctrlr() if ctrlr is attached by ut_attach_ctrlr()

bdev_nvme_delete() calls spdk_nvme_detach() in the end. However,
previously spdk_nvme_detach()

ut/bdev_nvme: spdk_nvme_detach() stub calls ut_detach_ctrlr() if ctrlr is attached by ut_attach_ctrlr()

bdev_nvme_delete() calls spdk_nvme_detach() in the end. However,
previously spdk_nvme_detach() stub did nothing and ut_detach_ctrlr()
was called separately if ctrlr wass attached by ut_detach_ctrlr().

This was to differentiate the two cases, ctrlr is statically assigned
or dynamically attached by ut_detach_ctrlr().

This might be a little confusing. Hence by adding a flag, attached,
to ctrlr, merge ut_detach_ctrlr() into spdk_nvme_detach(), and remove
ut_detach_ctrlr() calls.

Besides, change one SPDK_CU_ASSERT_FATAL to return NULL because the
other cases do that and the callers for ut_attach_ctrlr() already have
SPDK_CU_ASSERT_FATAL.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I2a73f57c6031819d3ae441a6874127ff5d53fc04
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7311
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

d9e3ffea29-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

ut/bdev_nvme: Use bdev_nvme_find_io_path() in unit tests

This will make the following change simpler and testing
bdev_nvme_find_io_path() will be good.

Signed-off-by: Shuhei Matsumoto <shuhei.matsu

ut/bdev_nvme: Use bdev_nvme_find_io_path() in unit tests

This will make the following change simpler and testing
bdev_nvme_find_io_path() will be good.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Iac82bdba88e4abfa41c2ce04f10ce41a6b7dbd71
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7106
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/doc/jsonrpc.md
/spdk/include/spdk/env.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/thread.h
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/pci_event.c
/spdk/lib/env_dpdk/sigbus_handler.c
/spdk/lib/env_dpdk/spdk_env_dpdk.map
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/iscsi/task.h
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/rdma/common.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/nvme/common.c
/spdk/module/bdev/nvme/common.h
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/scripts/rxe_cfg_small.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/qat/0001-sha.patch
/spdk/test/nvmf/common.sh
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c
/spdk/test/unit/lib/iscsi/conn.c/conn_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/nvme/Makefile
/spdk/test/unit/lib/nvme/nvme.c/nvme_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_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/sock/sock.c/sock_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/windows/windows_scsi_compliance.ps1
610dd86b26-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Inline nvme_bdev_ns_to_bdev() and remove it

nvme_bdev_ns_to_bdev() was introduced because nvme_ns->bdev may be
removed to support multipath. However, it is unlikely now.

Hence it is easi

bdev/nvme: Inline nvme_bdev_ns_to_bdev() and remove it

nvme_bdev_ns_to_bdev() was introduced because nvme_ns->bdev may be
removed to support multipath. However, it is unlikely now.

Hence it is easier to read to stop using nvme_bdev_ns_to_bdev() and
access nvme_ns->bdev directly.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Iaf35455218761bafd03060a21110ad1c4098b1db
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7098
Community-CI: Broadcom CI
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: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>

show more ...

08e2210a26-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Merge callback and spdk_nvme_detach() into bdev_nvme_add_trid()

This change separates failover case more clearly, and will make
the following changes simpler.

Merge spdk_nvme_detach() an

bdev/nvme: Merge callback and spdk_nvme_detach() into bdev_nvme_add_trid()

This change separates failover case more clearly, and will make
the following changes simpler.

Merge spdk_nvme_detach() and populate_namespaces_cb() into
bdev_nvme_add_secondary_trid(). Then change the return type of
bdev_nvme_add_secondary_trid() to void and move the comment to the
head of it.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I0eb706728cf1b9ad7031eb66e11880a47e2ba767
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7044
Community-CI: Broadcom CI
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: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

0e3de45d26-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Refactor add_trid() and rename it by add_secondary_trid()

Clean up bdev_nvme_add_trid() by factoring out comparison of namespaces
and comparison of trids into helper functions, bdev_nvme_

bdev/nvme: Refactor add_trid() and rename it by add_secondary_trid()

Clean up bdev_nvme_add_trid() by factoring out comparison of namespaces
and comparison of trids into helper functions, bdev_nvme_compare_namespaces()
and bdev_nvme_compare_trids(), respectively.

Then rename bdev_nvme_add_trid() by bdev_nvme_add_secondary_trid().

Rename is for clarification and clean-up is for the next patch.
The next patch will merge spdk_nvme_detach() and populate_namespaces_cb()
into the renamed bdev_nvme_secondary_trid(). Clean-up makes the
next patch simpler.

One note is that checking if the type of trid is not PCIe is done
by holding mutex now to prioritize clean up.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Idc8652329dd2c721d101a724ec1a57a66c4174a7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7094
Community-CI: Broadcom CI
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>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

1aa2537424-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Merge populate_namespaces() and its callback into nvme_bdev_ctrlr_create()

The following changes will require nvme_bdev_ctrlr_create() to be
asynchronous. As a preparation, merge nvme_ctr

bdev/nvme: Merge populate_namespaces() and its callback into nvme_bdev_ctrlr_create()

The following changes will require nvme_bdev_ctrlr_create() to be
asynchronous. As a preparation, merge nvme_ctrlr_populate_namespaces()
and populate_namespaces_cb() into nvme_bdev_ctrlr_create().

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I623f927da072d746b4bd83314c0f5bcb9cc34ef0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7043
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

cb8aa8ab24-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Not try freeing qpair when it is NULL, and add test scenario

The API spdk_nvme_ctrlr_free_io_qpair() returns immediately if the
passed qpair is NULL, but calling spdk_nvme_ctrlr_free_io_q

bdev/nvme: Not try freeing qpair when it is NULL, and add test scenario

The API spdk_nvme_ctrlr_free_io_qpair() returns immediately if the
passed qpair is NULL, but calling spdk_nvme_ctrlr_free_io_qpair()
with NULL should be avoided.

This patch cleans up the code to ensure that nvme_ch->qpair is NULL if
disconnected and spdk_nvme_ctrlr_free_io_qpair() is called only if
nvme_ch->qpair is not NULL.

Then add a test scenario that two reset requests were submitted
simultaneously and the first reset request failed and then the second
reset request also failed. This verifies the refactoring done in the
next patch.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Iae461f7f826b0e1a4607a17e528c04a642242d6e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7041
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

059dcf1d03-Mar-2021 Niklas Cassel <niklas.cassel@wdc.com>

bdev/nvme: add support for zoned namespaces

Add support for zoned namespaces in the bdev/nvme module.

Query the namespace type, and if a zoned namespace is found, set the
bdev struct members needed

bdev/nvme: add support for zoned namespaces

Add support for zoned namespaces in the bdev/nvme module.

Query the namespace type, and if a zoned namespace is found, set the
bdev struct members needed by the bdev_zone.h APIs.

Note that while vbdev_zone_block and bdev_ocssd have zone locks,
bdev/nvme does not need any kind of zone lock, because NVMe ZNS
supports append natively.

The whole point of the zone append command is that you don't need any
locks, even when having multiple writers, since the drive will return
back the Assigned LBA where the blocks were actually written.

If a SPDK application will utilize writes instead of zone appends,
the SPDK application itself will need a per zone lock in order to
make sure that there is only one outstanding write.

Adding zone locks in bdev/nvme would reduce the performance of zone
appends, for no reason at all.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Change-Id: Ibacdb9b6e839624aba869c9949231343db5914be
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6911
Community-CI: Broadcom CI
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 <shuhei.matsumoto.xt@hitachi.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_top/spdk_top.c
/spdk/autotest.sh
/spdk/doc/jsonrpc.md
/spdk/examples/bdev/hello_world/hello_bdev.c
/spdk/examples/nvme/fio_plugin/fio_plugin.c
/spdk/examples/nvme/identify/identify.c
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/bdev_zone.h
/spdk/lib/bdev/bdev_zone.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/env_internal.h
/spdk/lib/env_dpdk/memory.c
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/idxd.h
/spdk/lib/iscsi/param.c
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_quirks.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/mk/spdk.common.mk
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_ocssd.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/bdev_raid_rpc.c
/spdk/module/sock/posix/posix.c
/spdk/ocf
/spdk/scripts/ceph/start.sh
/spdk/scripts/check_format.sh
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/rpc.py
/spdk/test/common/config/pkgdep/git
/spdk/test/env/memory/memory_ut.c
/spdk/test/json_config/json_config.sh
/spdk/test/setup/acl.sh
/spdk/test/setup/common.sh
/spdk/test/setup/devices.sh
/spdk/test/setup/driver.sh
/spdk/test/setup/hugepages.sh
/spdk/test/setup/test-setup.sh
/spdk/test/spdkcli/match_files/spdkcli_nvmf.test.match
/spdk/test/spdkcli/nvmf.sh
/spdk/test/unit/lib/bdev/bdev_zone.c/bdev_zone_ut.c
bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/nvme/bdev_ocssd.c/bdev_ocssd_ut.c
/spdk/test/unit/lib/idxd/idxd.c/idxd_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_rdma.c/nvme_rdma_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/fio/fio.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/hotplug/scsi_hotplug.sh
/spdk/test/vhost/integrity/integrity_start.sh
/spdk/test/vhost/lvol/lvol_test.sh
/spdk/test/vhost/migration/migration-tc1.sh
/spdk/test/vhost/migration/migration-tc2.sh
/spdk/test/vhost/other/negative.sh
/spdk/test/vhost/perf_bench/vhost_perf.sh
/spdk/test/vhost/readonly/readonly.sh
/spdk/test/vhost/shared/shared.sh
/spdk/test/vhost/vhost_boot/vhost_boot.sh
/spdk/test/vhost/windows/windows_scsi_compliance.sh
d515bf7308-Mar-2021 Ziye Yang <ziye.yang@intel.com>

bdev/nvme: Use the accelerated_engine

This patch really uses the accelrated engine.
Currently, we only offload the crc32c caculation,
but it can be extended.

Change-Id: If0e4c6a44b6e1e10e03f7eca355

bdev/nvme: Use the accelerated_engine

This patch really uses the accelrated engine.
Currently, we only offload the crc32c caculation,
but it can be extended.

Change-Id: If0e4c6a44b6e1e10e03f7eca355bed418d67326b
Signed-off-by: Ziye Yang <ziye.yang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6760
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>

show more ...

26c5cc5218-Mar-2021 Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>

bdev/nvme: Remove ctx parameter from _bdev_nvme_reset()

Separate bdev_nvme_reset() and _bdev_nvme_reset() by making
bdev_nvme_reset() call _bdev_nvme_reset_start(), and then
remove the ctx parameter

bdev/nvme: Remove ctx parameter from _bdev_nvme_reset()

Separate bdev_nvme_reset() and _bdev_nvme_reset() by making
bdev_nvme_reset() call _bdev_nvme_reset_start(), and then
remove the ctx parameter from _bdev_nvme_reset().

This clarifies the next patch and reduces the size of the next patch.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I76b0f2f5b83445845a313203e594dca0be150bc3
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6949
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>

show more ...

123456789