History log of /spdk/lib/util/ (Results 1 – 25 of 313)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
c12cb8fe01-Nov-2024 Konrad Sztyber <konrad.sztyber@intel.com>

util: add method for setting fd_group's wrapper

A wrapper is a function that is executed when an event is triggered
prior to executing the callback associated with that event. It can be
used to per

util: add method for setting fd_group's wrapper

A wrapper is a function that is executed when an event is triggered
prior to executing the callback associated with that event. It can be
used to perform tasks common to all fds in an fd_group, without having
to control the code that adds the fds.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ia6e29d430dad220497aa2858529662a3934c6c52
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25464
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
Community-CI: Mellanox Build Bot
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

43c35d8001-Nov-2024 Konrad Sztyber <konrad.sztyber@intel.com>

util: multi-level fd_group nesting

This patch adds the ability to nest multiple fd_groups into one another.
This builds a tree with fds from all fd_groups being registered at root
fd_group's epfd. F

util: multi-level fd_group nesting

This patch adds the ability to nest multiple fd_groups into one another.
This builds a tree with fds from all fd_groups being registered at root
fd_group's epfd. For instance, in the following configuration:

fgrp0
|
fgrp1----+----fgrp2
|
fgrp3

fds from all fd_groups will be registered to epfd of fgrp0. After
unnesting fgrp1, fgrp1 and fgrp3 fds will be removed from frgp0's epfd
and added to fgrp1 epfd.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I4f586c21fe3db1739bf2010578b20606c53e5e84
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25463
Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@nvidia.com>

show more ...

6336b7c531-Oct-2024 Konrad Sztyber <konrad.sztyber@intel.com>

util: keep track of nested child fd_groups

We'll need this information in the next patch, which will allow for
multi level nesting.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-I

util: keep track of nested child fd_groups

We'll need this information in the next patch, which will allow for
multi level nesting.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I1c11b35d96d7926ff176ffd577db6b08aec2323a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25462
Reviewed-by: Changpeng Liu <changpeliu@tencent.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Ankit Kumar <ankit.kumar@samsung.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <ben@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@nvidia.com>

show more ...


/spdk/app/fio/bdev/fio_plugin.c
/spdk/app/fio/nvme/fio_plugin.c
/spdk/app/spdk_dd/spdk_dd.c
/spdk/doc/Doxyfile
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/doc/tracing.md
/spdk/examples/blob/cli/blobcli.c
/spdk/examples/nvme/cmb_copy/cmb_copy.c
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/fuse_dispatcher.h
/spdk/include/spdk_internal/mlx5.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/part.c
/spdk/lib/blob/blobstore.c
/spdk/lib/env_dpdk/init.c
/spdk/lib/event/scheduler_static.c
/spdk/lib/ftl/base/ftl_base_bdev.c
/spdk/lib/fuse_dispatcher/fuse_dispatcher.c
/spdk/lib/lvol/lvol.c
/spdk/lib/mlx5/mlx5_umr.c
/spdk/lib/mlx5/spdk_mlx5.map
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/nvmf.c
/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/reduce/reduce.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
fd_group.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost_internal.h
/spdk/lib/vhost/vhost_scsi.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/passthru/vbdev_passthru.c
/spdk/module/event/subsystems/nvmf/nvmf_rpc.c
/spdk/module/vfu_device/vfu_virtio_fs.c
/spdk/python/spdk/rpc/ublk.py
/spdk/scripts/check_format.sh
/spdk/test/accel/mlx5/accel_mlx5_driver_crypto.sh
/spdk/test/common/autotest_common.sh
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/iscsi_tgt/rpc_config/rpc_config.py
/spdk/test/iscsi_tgt/rpc_config/rpc_config.sh
/spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_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/nvmf.c/nvmf_ut.c
/spdk/test/unit/lib/nvmf/transport.c/transport_ut.c
aa58c9e015-Nov-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Add spdk_dif_pi_format_get_size() to use for NVMe PRACT

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

dif: Add spdk_dif_pi_format_get_size() to use for NVMe PRACT

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I991e419645f269a614fad44e3b02939c68767250
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25436
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>

show more ...

baa2dd0a24-Oct-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Set DIF field to 0 explicitly if its check is disabled

Each DIF generation/verification function has two modes, non-split and
split. For split mode, DIF fields are copied. However, for non-spli

dif: Set DIF field to 0 explicitly if its check is disabled

Each DIF generation/verification function has two modes, non-split and
split. For split mode, DIF fields are copied. However, for non-split
mode, DIF fields are updated directly. If check is disabled, the DIF
field is not touched for non-split case.

This is inconsistent.

Not only inconsistency but also this caused a real problem for the
malloc bdev module.

The patch
https://github.com/spdk/spdk/commit/e1f15ba5418b38056fdb6d67186075aa1fada9e7
caused the problem.

When malloc bdev is created, its reference tags are initialized to
0xFFFFFFFF. This means reference tag should be ignored. However, this
makes sense only if application tags are initialized to 0xFFFF for DIF
type 1. However, in SPDK, usually application tag check is disabled.
If application tag is not 0xFFFF, verification always detects reference
tag error.

Hence, in the following patches, we will change the malloc bdev module
to set application tags to 0xFFFF by enabling check only at disk
creation.

However, after that, we have no way to enable DIF check if application
tag check is not enabled.

If any valid meaningfull value is written to guard tag or reference tag,
DIF check should not be disabled.

This patch can resolve the problem.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ic21cd7c1c4d082f431382f561167cf7d75808008
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25323
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot

show more ...

92fb225125-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: dif_generate/verify_copy() supports NVMe PRACT = 1 and MD size > PI size

In the NVMe spec, if PRACT is 1 and metadata size is larger than
PI size, PI is just overwritten for write and PI is jus

dif: dif_generate/verify_copy() supports NVMe PRACT = 1 and MD size > PI size

In the NVMe spec, if PRACT is 1 and metadata size is larger than
PI size, PI is just overwritten for write and PI is just verified for
read. spdk_dif_generate_copy() and spdk_dif_verify_copy() simulate this
behavior.

Update unit test cases for verification.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I0e26a0c2675af416d9d181e3cb4ecb084939c6a4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23688
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

79daf86825-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Add SPDK_DIF_FLAGS_NVME_PRACT for dif_generate/verify_copy()

Add a macro constant SPDK_DIF_FLAGS_NVME_PRACT which is the same value
as the PRACT bit in the NVMe specification.

spdk_dif_generat

dif: Add SPDK_DIF_FLAGS_NVME_PRACT for dif_generate/verify_copy()

Add a macro constant SPDK_DIF_FLAGS_NVME_PRACT which is the same value
as the PRACT bit in the NVMe specification.

spdk_dif_generate/verify_copy() works if NVME_PRACT is not set or
metadata size is equal with PI size, or return -ENOTSUP otherwise.

The following patch will support the ENOTSUP cases.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ie0113521572aa405f26c8c197f5ffb14ca0503ff
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23687
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot

show more ...

431baf1b25-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Insert abstraction into dif_generate/verify_copy() for NVMe PRACT

This will simplify the following changes.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ia3b8ffb38dd6858a

dif: Insert abstraction into dif_generate/verify_copy() for NVMe PRACT

This will simplify the following changes.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ia3b8ffb38dd6858a0f16b6da52a993da47c6ca4b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23686
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot

show more ...

f860916225-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Rename internal generate/verify_copy() by insert/strip_copy()

We want to add NVMe PRACT handling into the DIF library.
If metadata size is equal with PI size, NVMe PRACT and insert/strip
are sa

dif: Rename internal generate/verify_copy() by insert/strip_copy()

We want to add NVMe PRACT handling into the DIF library.
If metadata size is equal with PI size, NVMe PRACT and insert/strip
are same. But, if metadata size is larger than PI size, NVMe PRACT
is overwrite/verify. Current generate/verify_copy() support only
insert/strip.

Hence, as a preparation, rename internal dif_generate/verify_copy()
by dif_insert/strip_copy().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ic309d8bc41e5d92ad87cacf69909f15303c2cea1
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23685
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/spdk_nvme_perf/perf.c
/spdk/autotest.sh
/spdk/dpdkbuild/Makefile
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/thread/thread/thread_ex.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/module/bdev/nvme.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/mlx5.h
/spdk/include/spdk_internal/rdma_provider.h
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/env_dpdk/env.mk
/spdk/lib/mlx5/mlx5_umr.c
/spdk/lib/mlx5/spdk_mlx5.map
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_pcie_internal.h
/spdk/lib/nvme/nvme_poll_group.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/nvme_transport.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/fc.c
/spdk/lib/nvmf/fc_ls.c
/spdk/lib/nvmf/nvmf_fc.h
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rdma_provider/Makefile
/spdk/lib/rdma_provider/rdma_provider_mlx5_dv.c
/spdk/lib/rdma_provider/rdma_provider_verbs.c
/spdk/lib/rdma_provider/spdk_rdma_provider.map
/spdk/lib/reduce/reduce.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
dif.c
/spdk/lib/vhost/vhost.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/mk/spdk.lib_deps.mk
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.c
/spdk/module/accel/error/accel_error.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/accel/mlx5/accel_mlx5.h
/spdk/module/accel/mlx5/accel_mlx5_rpc.c
/spdk/module/bdev/aio/bdev_aio.c
/spdk/module/bdev/error/vbdev_error.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/nvme/spdk_bdev_nvme.map
/spdk/module/bdev/ocf/ctx.c
/spdk/module/bdev/ocf/ctx.h
/spdk/module/bdev/ocf/vbdev_ocf.c
/spdk/module/bdev/ocf/volume.c
/spdk/module/bdev/ocf/volume.h
/spdk/module/bdev/xnvme/bdev_xnvme.c
/spdk/module/scheduler/dpdk_governor/dpdk_governor.c
/spdk/ocf
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/mlx5.py
/spdk/scripts/bash-completion/spdk
/spdk/scripts/rpc.py
/spdk/test/accel/mlx5/accel_mlx5_copy.sh
/spdk/test/accel/mlx5/accel_mlx5_crc32c.sh
/spdk/test/accel/mlx5/accel_mlx5_crypto.sh
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autobuild_common.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/nvme/functions.sh
/spdk/test/nvme/interrupt.sh
/spdk/test/nvme/xnvme/common.sh
/spdk/test/nvme/xnvme/xnvme.sh
/spdk/test/nvmf/nvmf_target_extra.sh
/spdk/test/nvmf/target/nsid.sh
/spdk/test/scheduler/common.sh
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_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/fc.c/fc_ut.c
/spdk/test/unit/lib/nvmf/subsystem.c/subsystem_ut.c
58ae1bdd30-Oct-2024 Ankit Kumar <ankit.kumar@samsung.com>

stdinc.h: move epoll header over here

Change-Id: Iaee83f78f3586548ded3c54af862011c380d0d75
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk

stdinc.h: move epoll header over here

Change-Id: Iaee83f78f3586548ded3c54af862011c380d0d75
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25395
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>

show more ...

458c5cd308-Oct-2024 Ankit Kumar <ankit.kumar@samsung.com>

util: handle events for fd type eventfd

To clear interrupt events on file descriptors that are eventfds we have
to read them. This commit introduces a new fd type SPDK_FD_TYPE_EVENTFD
which does tha

util: handle events for fd type eventfd

To clear interrupt events on file descriptors that are eventfds we have
to read them. This commit introduces a new fd type SPDK_FD_TYPE_EVENTFD
which does that.

Change-Id: Ida78e1a037097984fbdfac170478c41520822f93
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25171
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...

91e7a24c08-Oct-2024 Ankit Kumar <ankit.kumar@samsung.com>

util: Extended options for spdk_fd_group_add

Added a new API spdk_fd_group_add_ext(), which accepts extended
options for event handler i.e. spdk_event_handler_opts.
The spdk_event_handler_opts has e

util: Extended options for spdk_fd_group_add

Added a new API spdk_fd_group_add_ext(), which accepts extended
options for event handler i.e. spdk_event_handler_opts.
The spdk_event_handler_opts has events and fd_type. This provides
flexibility in handling different types of fds, which may require
specific operations to be performed when an event is generated.

Change-Id: I8ce36e5ed72e9ca616c9bdb38e45df6541873b1a
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25170
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
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: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...

c9f2ea2230-Sep-2024 Ankit Kumar <ankit.kumar@samsung.com>

util: fix total fds to wait for

Change num_fds type from signed to unsigned int.

The epoll file descriptor for a fd group waits for interrupt event on
the fds from its interrupt sources list as wel

util: fix total fds to wait for

Change num_fds type from signed to unsigned int.

The epoll file descriptor for a fd group waits for interrupt event on
the fds from its interrupt sources list as well as from all its children
fd group interrupt sources list. Update add, remove, nest and unnest APIs
to track the correct number of fds registered in a fd group.
Add a check to verify that interrupt sources list is empty before
destroying the fd group.

Change-Id: Ib06de08e1083579540f9d0d0ee5fb8db23caad11
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25077
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...

872a40a010-Oct-2024 Ankit Kumar <ankit.kumar@samsung.com>

util/fd_group: improve logs and documentation

Change-Id: If71c64f88fdc79411e425f5538094704ec2c0753
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/s

util/fd_group: improve logs and documentation

Change-Id: If71c64f88fdc79411e425f5538094704ec2c0753
Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25213
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/app/fio/bdev/README.md
/spdk/autorun.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/dpdk
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/examples/fsdev/hello_world/hello_fsdev.c
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/env.h
/spdk/include/spdk/event.h
/spdk/include/spdk/fd_group.h
/spdk/include/spdk/fsdev.h
/spdk/include/spdk/fsdev_module.h
/spdk/include/spdk/log.h
/spdk/include/spdk/module/bdev/nvme.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/version.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/lib/bdev/Makefile
/spdk/lib/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blobfs/tree.c
/spdk/lib/env_dpdk/Makefile
/spdk/lib/env_dpdk/memory.c
/spdk/lib/env_dpdk/spdk_env_dpdk.map
/spdk/lib/event/app.c
/spdk/lib/event/app_rpc.c
/spdk/lib/event/event_internal.h
/spdk/lib/event/reactor.c
/spdk/lib/event/scheduler_static.c
/spdk/lib/fsdev/Makefile
/spdk/lib/fsdev/fsdev.c
/spdk/lib/fsdev/fsdev_io.c
/spdk/lib/fsdev/spdk_fsdev.map
/spdk/lib/fuse_dispatcher/fuse_dispatcher.c
/spdk/lib/iscsi/conn.c
/spdk/lib/log/Makefile
/spdk/lib/log/log.c
/spdk/lib/log/spdk_log.map
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_poll_group.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvme/spdk_nvme.map
/spdk/lib/nvmf/Makefile
/spdk/lib/nvmf/auth.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/ctrlr_discovery.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/nvmf_internal.h
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/spdk_nvmf.map
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/transport.c
/spdk/lib/reduce/Makefile
/spdk/lib/reduce/reduce.c
/spdk/lib/reduce/spdk_reduce.map
/spdk/lib/thread/Makefile
/spdk/lib/thread/iobuf.c
/spdk/lib/thread/spdk_thread.map
/spdk/lib/thread/thread.c
/spdk/lib/trace_parser/trace.cpp
fd_group.c
/spdk/lib/vfu_tgt/tgt_endpoint.c
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/crypto/vbdev_crypto.c
/spdk/module/bdev/lvol/vbdev_lvol_rpc.c
/spdk/module/bdev/nvme/Makefile
/spdk/module/bdev/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/nvme/spdk_bdev_nvme.map
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/xnvme/bdev_xnvme.c
/spdk/module/event/subsystems/iobuf/iobuf.c
/spdk/module/event/subsystems/iobuf/iobuf_rpc.c
/spdk/module/fsdev/aio/aio_mgr.c
/spdk/module/fsdev/aio/aio_mgr.h
/spdk/module/fsdev/aio/fsdev_aio.c
/spdk/module/fsdev/aio/fsdev_aio.h
/spdk/module/fsdev/aio/fsdev_aio_rpc.c
/spdk/module/fsdev/aio/linux_aio_mgr.c
/spdk/module/scheduler/gscheduler/gscheduler.c
/spdk/module/vfu_device/vfu_virtio_fs.c
/spdk/module/vfu_device/vfu_virtio_rpc.c
/spdk/python/Makefile
/spdk/python/spdk/__init__.py
/spdk/python/spdk/rpc/app.py
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/fsdev.py
/spdk/python/spdk/rpc/iobuf.py
/spdk/scripts/env_dpdk/22.11/24.11-bus_driver.h.patch
/spdk/scripts/env_dpdk/22.11/24.11-bus_pci_driver.h.patch
/spdk/scripts/env_dpdk/22.11/24.11-dev_driver.h.patch
/spdk/scripts/env_dpdk/22.11/24.11-rte_bus.h.patch
/spdk/scripts/env_dpdk/22.11/24.11-rte_bus_pci.h.patch
/spdk/scripts/env_dpdk/22.11/24.11-rte_dev.h.patch
/spdk/scripts/pkgdep/freebsd.sh
/spdk/scripts/rpc.py
/spdk/test/common/autobuild_common.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/autotest_setup.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/ice/0001-kernel_ethtool_ts_info.patch
/spdk/test/common/config/pkgdep/patches/ice/0001-ptp.patch
/spdk/test/common/config/pkgdep/patches/irdma/0001-uverbs_attr.patch
/spdk/test/common/lib/test_env.c
/spdk/test/common/lib/test_iobuf.c
/spdk/test/compress/compress.sh
/spdk/test/env/memory/memory_ut.c
/spdk/test/make/check_so_deps.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/host/failover.sh
/spdk/test/nvmf/host/multipath.sh
/spdk/test/nvmf/host/multipath_status.sh
/spdk/test/nvmf/target/ns_masking.sh
/spdk/test/nvmf/target/shutdown.sh
/spdk/test/scheduler/rpc.sh
/spdk/test/unit/lib/accel/accel.c/accel_ut.c
/spdk/test/unit/lib/accel/dpdk_compressdev.c/accel_dpdk_compressdev_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/nvme/bdev_nvme.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/reactor.c/reactor_ut.c
/spdk/test/unit/lib/fsdev/fsdev.c/fsdev_ut.c
/spdk/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c
/spdk/test/unit/lib/log/log.c/log_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_cuse.c/nvme_cuse_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie_common.c/nvme_pcie_common_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/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/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/thread/iobuf.c/iobuf_ut.c
/spdk/test/unit/lib/util/pipe.c/pipe_ut.c
/spdk/test/vhost/common.sh
/spdk/xnvme
/spdk/xnvmebuild/Makefile
4b88d74224-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Do copy data + insert/strip metadata if DIF is disabled

Previously, spdk_dif_generate/verify_copy() did nothing and returned
0 if DIF was disabled.

However, this was wrong.

spdk_dif_generate_

dif: Do copy data + insert/strip metadata if DIF is disabled

Previously, spdk_dif_generate/verify_copy() did nothing and returned
0 if DIF was disabled.

However, this was wrong.

spdk_dif_generate_copy() should copy data and insert metadata field.
spdk_dif_verify_copy() should copy data and strip metadata field.

Add such change and verify it by adding unit test cases.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I8408e360376a607864bb7f0a187abb73bb7b6e0d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23684
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/app/fio/bdev/fio_plugin.c
/spdk/app/fio/nvme/fio_plugin.c
/spdk/app/spdk_nvme_perf/Makefile
/spdk/app/spdk_nvme_perf/perf.c
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/jsonrpc.md
/spdk/doc/nvmf.md
/spdk/doc/nvmf_tracing.md
/spdk/dpdkbuild/Makefile
/spdk/examples/accel/perf/accel_perf.c
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/include/spdk/accel.h
/spdk/include/spdk/accel_module.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/dma.h
/spdk/include/spdk/env.h
/spdk/include/spdk/event.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/idxd_spec.h
/spdk/include/spdk/keyring_module.h
/spdk/include/spdk/module/bdev/nvme.h
/spdk/include/spdk/module/keyring/file.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/trace.h
/spdk/include/spdk_internal/idxd.h
/spdk/include/spdk_internal/mlx5.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/lib/accel/Makefile
/spdk/lib/accel/accel.c
/spdk/lib/accel/accel_sw.c
/spdk/lib/accel/spdk_accel.map
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/dma/Makefile
/spdk/lib/dma/dma.c
/spdk/lib/dma/spdk_dma.map
/spdk/lib/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/spdk_env_dpdk.map
/spdk/lib/env_dpdk/threads.c
/spdk/lib/event/app.c
/spdk/lib/ftl/Makefile
/spdk/lib/ftl/ftl_core.h
/spdk/lib/ftl/ftl_internal.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_p2l_log.c
/spdk/lib/ftl/ftl_trace.c
/spdk/lib/ftl/mngt/ftl_mngt_md.c
/spdk/lib/ftl/mngt/ftl_mngt_p2l.c
/spdk/lib/ftl/mngt/ftl_mngt_startup.c
/spdk/lib/ftl/mngt/ftl_mngt_steps.h
/spdk/lib/ftl/nvc/ftl_nvc_bdev_common.c
/spdk/lib/ftl/nvc/ftl_nvc_bdev_common.h
/spdk/lib/ftl/nvc/ftl_nvc_bdev_non_vss.c
/spdk/lib/ftl/nvc/ftl_nvc_bdev_vss.c
/spdk/lib/ftl/nvc/ftl_nvc_dev.h
/spdk/lib/ftl/upgrade/ftl_layout_upgrade.c
/spdk/lib/ftl/upgrade/ftl_sb_v5.c
/spdk/lib/ftl/utils/ftl_md.h
/spdk/lib/idxd/Makefile
/spdk/lib/idxd/idxd.c
/spdk/lib/idxd/spdk_idxd.map
/spdk/lib/ioat/ioat.c
/spdk/lib/iscsi/conn.c
/spdk/lib/keyring/Makefile
/spdk/lib/keyring/keyring.c
/spdk/lib/mlx5/mlx5_crypto.c
/spdk/lib/mlx5/mlx5_priv.h
/spdk/lib/mlx5/mlx5_umr.c
/spdk/lib/mlx5/spdk_mlx5.map
/spdk/lib/nbd/nbd.c
/spdk/lib/nvme/Makefile
/spdk/lib/nvme/nvme.c
/spdk/lib/nvme/nvme_auth.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_fabric.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_poll_group.c
/spdk/lib/nvme/nvme_qpair.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvme/nvme_stubs.c
/spdk/lib/nvme/nvme_tcp.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/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/rdma_utils/rdma_utils.c
/spdk/lib/reduce/queue_internal.h
/spdk/lib/reduce/reduce.c
/spdk/lib/scsi/scsi.c
/spdk/lib/sock/sock.c
/spdk/lib/thread/thread.c
dif.c
/spdk/mk/spdk.common.mk
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.modules.mk
/spdk/module/accel/Makefile
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.c
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.h
/spdk/module/accel/dsa/accel_dsa.c
/spdk/module/accel/iaa/accel_iaa.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/accel/mlx5/accel_mlx5.h
/spdk/module/accel/mlx5/accel_mlx5_rpc.c
/spdk/module/bdev/aio/bdev_aio.c
/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/nvme/bdev_nvme.c
/spdk/module/bdev/nvme/bdev_nvme.h
/spdk/module/bdev/nvme/bdev_nvme_rpc.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/event/subsystems/nvmf/nvmf_tgt.c
/spdk/module/fsdev/aio/Makefile
/spdk/module/keyring/file/Makefile
/spdk/module/keyring/file/keyring.c
/spdk/module/keyring/file/keyring_rpc.c
/spdk/module/keyring/file/spdk_keyring_file.map
/spdk/module/sock/posix/posix.c
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/compressdev.py
/spdk/python/spdk/rpc/mlx5.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/python/spdk/spdkcli/ui_node.py
/spdk/python/spdk/spdkcli/ui_root.py
/spdk/scripts/keyctl-session-wrapper
/spdk/scripts/perf/pm/collect-cpu-temp
/spdk/scripts/pkgdep.sh
/spdk/scripts/pkgdep/debian.sh
/spdk/scripts/pkgdep/freebsd.sh
/spdk/scripts/pkgdep/mariner.sh
/spdk/scripts/pkgdep/rhel.sh
/spdk/scripts/pkgdep/sles.sh
/spdk/scripts/rpc.py
/spdk/test/accel/accel.sh
/spdk/test/accel/dif/dif.c
/spdk/test/accel/mlx5/accel_mlx5_copy.sh
/spdk/test/accel/mlx5/accel_mlx5_crc32c.sh
/spdk/test/accel/mlx5/accel_mlx5_crypto.sh
/spdk/test/app/stub/stub.c
/spdk/test/bdev/bdev_raid.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/apt-get
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/yum
/spdk/test/common/lib/nvme/common_stubs.h
/spdk/test/common/lib/test_env.c
/spdk/test/common/nvme/functions.sh
/spdk/test/common/skipped_tests.txt
/spdk/test/cpp_headers/Makefile
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/env/memory/memory_ut.c
/spdk/test/ftl/bdevperf.sh
/spdk/test/interrupt/common.sh
/spdk/test/keyring/file.sh
/spdk/test/make/check_so_deps.sh
/spdk/test/nvme/perf/common.sh
/spdk/test/nvmf/fips/fips.sh
/spdk/test/nvmf/host/async_init.sh
/spdk/test/nvmf/host/auth.sh
/spdk/test/nvmf/target/auth.sh
/spdk/test/nvmf/target/interrupt.sh
/spdk/test/nvmf/target/tls.sh
/spdk/test/spdkcli/match_files/spdkcli_raid.test.match
/spdk/test/spdkcli/match_files/spdkcli_vhost.test.match
/spdk/test/spdkcli/match_files/spdkcli_virtio_pci.test.match
/spdk/test/unit/lib/accel/accel.c/accel_ut.c
/spdk/test/unit/lib/accel/dpdk_compressdev.c/accel_dpdk_compressdev_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/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/raid/raid5f.c/raid5f_ut.c
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/spdk/test/unit/lib/ftl/ftl_layout_upgrade/ftl_layout_upgrade_ut.c
/spdk/test/unit/lib/ftl/ftl_sb/ftl_sb_ut.c
/spdk/test/unit/lib/idxd/idxd.c/idxd_ut.c
/spdk/test/unit/lib/keyring/keyring.c/keyring_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_qpair.c/nvme_qpair_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/tcp.c/tcp_ut.c
/spdk/test/unit/lib/reduce/Makefile
/spdk/test/unit/lib/reduce/queue_internal.h/Makefile
/spdk/test/unit/lib/reduce/queue_internal.h/queue_internal_ut.c
/spdk/test/unit/lib/util/dif.c/dif_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vhost/common.sh
53be3bd807-May-2024 Alexey Marchuk <alexeymar@nvidia.com>

lib/util: Make md5 API public

Make md5 realted functions in iscsi lib public.
Interface remained unchaged except of spdk_ prefix
added to func names. Implementation slightly updated
with unlikely()

lib/util: Make md5 API public

Make md5 realted functions in iscsi lib public.
Interface remained unchaged except of spdk_ prefix
added to func names. Implementation slightly updated
with unlikely() hints.

Signed-off-by: Alexey Marchuk <alexeymar@nvidia.com>
Change-Id: I8bff008aad0c44b639b9249e1b48f3a6f9421f74
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23133
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Ben Walker <ben@nvidia.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/fio/bdev/fio_plugin.c
/spdk/app/fio/nvme/fio_plugin.c
/spdk/app/spdk_nvme_perf/perf.c
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/jsonrpc.md
/spdk/dpdk
/spdk/dpdkbuild/Makefile
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/include/spdk/accel.h
/spdk/include/spdk/bdev.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/env.h
/spdk/include/spdk/init.h
/spdk/include/spdk/md5.h
/spdk/include/spdk/nvmf_cmd.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk_internal/rdma_utils.h
/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/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/part.c
/spdk/lib/bdev/spdk_bdev.map
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/blobstore.h
/spdk/lib/blob/zeroes.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/memory.c
/spdk/lib/event/app.c
/spdk/lib/fsdev/fsdev_io.c
/spdk/lib/ftl/ftl_io.c
/spdk/lib/init/Makefile
/spdk/lib/init/json_config.c
/spdk/lib/init/spdk_init.map
/spdk/lib/iscsi/Makefile
/spdk/lib/iscsi/conn.c
/spdk/lib/iscsi/conn.h
/spdk/lib/iscsi/iscsi.c
/spdk/lib/iscsi/iscsi.h
/spdk/lib/log/log.c
/spdk/lib/nvme/nvme_pcie_common.c
/spdk/lib/nvme/nvme_rdma.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/nvmf.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/spdk_nvmf.map
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/rdma_utils/rdma_utils.c
/spdk/lib/rdma_utils/spdk_rdma_utils.map
/spdk/lib/thread/thread.c
Makefile
md5.c
spdk_util.map
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/vhost/vhost_internal.h
/spdk/mk/spdk.common.mk
/spdk/module/accel/mlx5/accel_mlx5.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/nvme/bdev_nvme.c
/spdk/module/fsdev/aio/fsdev_aio.c
/spdk/python/spdk/rpc/__init__.py
/spdk/python/spdk/rpc/bdev.py
/spdk/scripts/check_format.sh
/spdk/scripts/perf/vhost/run_vhost_test.sh
/spdk/scripts/rpc.py
/spdk/test/accel/mlx5/accel_mlx5_crypto.sh
/spdk/test/app/fuzz/iscsi_fuzz/Makefile
/spdk/test/bdev/blockdev.sh
/spdk/test/bdev/nbd_common.sh
/spdk/test/common/autobuild_common.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/dpdk/24.07/uio-open-in-primary.patch
/spdk/test/dma/test_dma/test_dma.c
/spdk/test/fuzz/llvm.sh
/spdk/test/fuzz/llvm/llvm-gcov.sh
/spdk/test/interrupt/common.sh
/spdk/test/json_config/json_config.sh
/spdk/test/lvol/esnap/esnap.c
/spdk/test/make/check_so_deps.sh
/spdk/test/nvmf/common.sh
/spdk/test/nvmf/nvmf.sh
/spdk/test/nvmf/target/interrupt.sh
/spdk/test/nvmf/target/perf_adq.sh
/spdk/test/nvmf/target/shutdown.sh
/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/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/raid/raid5f.c/raid5f_ut.c
/spdk/test/unit/lib/blob/blob.c/blob_ut.c
/spdk/test/unit/lib/event/app.c/app_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/Makefile
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_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_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_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/unittest.sh
/spdk/test/vfio_user/vfio_user.sh
2de3092a23-Jul-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Remove alignment requirement from spdk_dif_verify_copy()

As mentioned in the last patch in the patch series,
spdk_dif_verify_copy() required each iovec of bounce buffer to be
multiple of block

dif: Remove alignment requirement from spdk_dif_verify_copy()

As mentioned in the last patch in the patch series,
spdk_dif_verify_copy() required each iovec of bounce buffer to be
multiple of block size length. This was too strong.

The last patch removed the limitation for spdk_dif_generate_copy().
This patch removes the limitation for spdk_dif_verify_copy().

Add unit test cases for verification.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib32e9f4b3ca27e4ed7d9c95626aec562b9384198
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23683
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...

d303213923-Jul-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Remove alignment requirement from spdk_dif_generate_copy()

spdk_dif_generate_copy() required each iovec of bounce buffer to be
multiple of block size length. This was too strong.

Software impl

dif: Remove alignment requirement from spdk_dif_generate_copy()

spdk_dif_generate_copy() required each iovec of bounce buffer to be
multiple of block size length. This was too strong.

Software implementation should not have strong limitation on
configuration.

Remove the limitation in this patch.

Modify the functional test of the DIF feature of the accel framework
slightly. The total length of the iovec still should be larger than
payload length.

spdk_dif_verify_copy() have the same strong limitation. However, in unit
tests, spdk_dif_generate_copy() and spdk_dif_verify_copy() are a pair
and share the same bounce buffer.

If we add bugs to both of spdk_dif_generate_copy() and
spdk_dif_verify_copy(), it is likely that the bugs are not found in
unit tests. Hence, this patch changes only spdk_dif_generate_copy().
The next patch will change spdk_dif_verify_copy().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib50299a8b337a4825708891f9739e72a862fbf49
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23846
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...

aee021cd24-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Refactor spdk_dif_verify_copy()

The previous patch refactored spdk_dif_generate_copy(). This patch
refactors the opposite spdk_dif_verify_copy().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nv

dif: Refactor spdk_dif_verify_copy()

The previous patch refactored spdk_dif_generate_copy(). This patch
refactors the opposite spdk_dif_verify_copy().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib719f1745df496e61209c4d1f65f94ce3e799e13
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23845
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...

7c6dc7c024-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Refactor spdk_dif_generate_copy()

This patch changes only generate_copy funciton. The existing verify
function can check if this change is correct.

The next patch will change the corresponding

dif: Refactor spdk_dif_generate_copy()

This patch changes only generate_copy funciton. The existing verify
function can check if this change is correct.

The next patch will change the corresponding verify_copy function.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ia7f3d159c2db917dc74b45d349affd880597edc9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23844
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

5204b31e21-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Refactor spdk_dif_verify()

The previous patch refactored spdk_dif_generate(). This patch refactors
the opposite spdk_dif_verify().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Chang

dif: Refactor spdk_dif_verify()

The previous patch refactored spdk_dif_generate(). This patch refactors
the opposite spdk_dif_verify().

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I6746c84ce37d4a9cbd56727731542b576baaba55
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23843
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...

fe67185820-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Refactor spdk_dif_generate()

Code was not easy to read and understand for buffer split cases.
Refactor spdk_dif_generate() to improve readability and to make
us easier to change.

This patch ch

dif: Refactor spdk_dif_generate()

Code was not easy to read and understand for buffer split cases.
Refactor spdk_dif_generate() to improve readability and to make
us easier to change.

This patch changes only generate function. The existing verify
function can check if this change is correct.

The next patch will change the corresponding verify function.

Similar refactoring will follow in the patch series.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Iefc6a54b81bff1282c1149bcc8efb81eaf129a1d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23842
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot

show more ...


/spdk/CHANGELOG.md
/spdk/CONFIG
/spdk/LICENSE
/spdk/app/fio/bdev/fio_plugin.c
/spdk/app/fio/nvme/fio_plugin.c
/spdk/app/spdk_lspci/spdk_lspci.c
/spdk/app/spdk_nvme_discover/discovery_aer.c
/spdk/app/spdk_nvme_identify/identify.c
/spdk/app/spdk_nvme_perf/perf.c
/spdk/app/spdk_tgt/Makefile
/spdk/autobuild.sh
/spdk/autopackage.sh
/spdk/autotest.sh
/spdk/configure
/spdk/deprecation.md
/spdk/doc/bdev.md
/spdk/doc/jsonrpc.md
/spdk/doc/performance_reports.md
/spdk/dpdk
/spdk/examples/Makefile
/spdk/examples/bdev/bdevperf/bdevperf.c
/spdk/examples/fsdev/Makefile
/spdk/examples/fsdev/hello_world/Makefile
/spdk/examples/fsdev/hello_world/hello_fsdev.c
/spdk/examples/idxd/perf/perf.c
/spdk/examples/interrupt_tgt/interrupt_tgt.c
/spdk/examples/ioat/perf/perf.c
/spdk/examples/ioat/verify/verify.c
/spdk/examples/nvme/abort/abort.c
/spdk/examples/nvme/arbitration/arbitration.c
/spdk/examples/nvme/cmb_copy/cmb_copy.c
/spdk/examples/nvme/hello_world/hello_world.c
/spdk/examples/nvme/hotplug/hotplug.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/examples/nvme/pmr_persistence/pmr_persistence.c
/spdk/examples/nvme/reconnect/reconnect.c
/spdk/examples/nvmf/nvmf/nvmf.c
/spdk/examples/thread/thread/thread_ex.c
/spdk/examples/vmd/led/led.c
/spdk/examples/vmd/lsvmd/lsvmd.c
/spdk/include/Makefile
/spdk/include/linux/fuse_kernel.h
/spdk/include/linux/virtio_fs.h
/spdk/include/spdk/accel.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/env.h
/spdk/include/spdk/fsdev.h
/spdk/include/spdk/fsdev_module.h
/spdk/include/spdk/fuse_dispatcher.h
/spdk/include/spdk/module/bdev/nvme.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/pci_ids.h
/spdk/include/spdk/reduce.h
/spdk/include/spdk/scheduler.h
/spdk/include/spdk/sock.h
/spdk/include/spdk/stdinc.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/trace.h
/spdk/include/spdk/util.h
/spdk/include/spdk_internal/event.h
/spdk/include/spdk_internal/mlx5.h
/spdk/include/spdk_internal/nvme_tcp.h
/spdk/include/spdk_internal/sock.h
/spdk/include/spdk_internal/trace_defs.h
/spdk/isa-l-crypto
/spdk/lib/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/bdev/bdev.c
/spdk/lib/bdev/bdev_rpc.c
/spdk/lib/bdev/part.c
/spdk/lib/blob/blobstore.c
/spdk/lib/blob/request.c
/spdk/lib/blobfs/blobfs.c
/spdk/lib/env_dpdk/env.c
/spdk/lib/env_dpdk/init.c
/spdk/lib/env_dpdk/pci.c
/spdk/lib/env_dpdk/pci_dpdk.c
/spdk/lib/env_dpdk/spdk_env_dpdk.map
/spdk/lib/env_dpdk/threads.c
/spdk/lib/env_ocf/ocf_env.c
/spdk/lib/event/app.c
/spdk/lib/event/app_rpc.c
/spdk/lib/event/event_internal.h
/spdk/lib/event/log_rpc.c
/spdk/lib/event/reactor.c
/spdk/lib/event/spdk_event.map
/spdk/lib/fsdev/Makefile
/spdk/lib/fsdev/fsdev.c
/spdk/lib/fsdev/fsdev_internal.h
/spdk/lib/fsdev/fsdev_io.c
/spdk/lib/fsdev/fsdev_rpc.c
/spdk/lib/fsdev/spdk_fsdev.map
/spdk/lib/ftl/ftl_l2p_cache.c
/spdk/lib/ftl/ftl_nv_cache.c
/spdk/lib/ftl/mngt/ftl_mngt_ioch.c
/spdk/lib/ftl/mngt/ftl_mngt_misc.c
/spdk/lib/ftl/utils/ftl_md.c
/spdk/lib/fuse_dispatcher/Makefile
/spdk/lib/fuse_dispatcher/fuse_dispatcher.c
/spdk/lib/fuse_dispatcher/fuse_dispatcher.map
/spdk/lib/iscsi/iscsi_subsystem.c
/spdk/lib/log/log.c
/spdk/lib/mlx5/Makefile
/spdk/lib/mlx5/mlx5_crypto.c
/spdk/lib/mlx5/mlx5_dma.c
/spdk/lib/mlx5/mlx5_ifc.h
/spdk/lib/mlx5/mlx5_priv.h
/spdk/lib/mlx5/mlx5_qp.c
/spdk/lib/mlx5/mlx5_umr.c
/spdk/lib/mlx5/spdk_mlx5.map
/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_internal.h
/spdk/lib/nvme/nvme_io_msg.c
/spdk/lib/nvme/nvme_ns.c
/spdk/lib/nvme/nvme_ns_cmd.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/nvme/spdk_nvme.map
/spdk/lib/nvmf/auth.c
/spdk/lib/nvmf/ctrlr.c
/spdk/lib/nvmf/ctrlr_bdev.c
/spdk/lib/nvmf/mdns_server.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/stubs.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_utils/rdma_utils.c
/spdk/lib/reduce/Makefile
/spdk/lib/reduce/reduce.c
/spdk/lib/sock/sock.c
/spdk/lib/sock/spdk_sock.map
/spdk/lib/thread/iobuf.c
/spdk/lib/thread/thread.c
/spdk/lib/trace/Makefile
/spdk/lib/trace_parser/Makefile
/spdk/lib/ublk/ublk.c
dif.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost_rpc.c
/spdk/lib/vmd/vmd.c
/spdk/libvfio-user
/spdk/mk/spdk.lib_deps.mk
/spdk/mk/spdk.modules.mk
/spdk/module/Makefile
/spdk/module/accel/dpdk_cryptodev/accel_dpdk_cryptodev.c
/spdk/module/accel/dsa/accel_dsa.c
/spdk/module/accel/iaa/accel_iaa.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/accel/mlx5/accel_mlx5.h
/spdk/module/accel/mlx5/accel_mlx5_rpc.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/compress/vbdev_compress.h
/spdk/module/bdev/compress/vbdev_compress_rpc.c
/spdk/module/bdev/ftl/bdev_ftl_rpc.c
/spdk/module/bdev/lvol/vbdev_lvol_rpc.c
/spdk/module/bdev/null/bdev_null.c
/spdk/module/bdev/nvme/bdev_mdns_client.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/nvme/spdk_bdev_nvme.map
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/virtio/bdev_virtio_scsi.c
/spdk/module/blob/bdev/blob_bdev.c
/spdk/module/event/subsystems/Makefile
/spdk/module/event/subsystems/fsdev/Makefile
/spdk/module/event/subsystems/fsdev/fsdev.c
/spdk/module/fsdev/Makefile
/spdk/module/fsdev/aio/Makefile
/spdk/module/fsdev/aio/aio_mgr.c
/spdk/module/fsdev/aio/aio_mgr.h
/spdk/module/fsdev/aio/fsdev_aio.c
/spdk/module/fsdev/aio/fsdev_aio.h
/spdk/module/fsdev/aio/fsdev_aio_rpc.c
/spdk/module/fsdev/aio/linux_aio_mgr.c
/spdk/module/scheduler/dynamic/scheduler_dynamic.c
/spdk/module/sock/posix/posix.c
/spdk/module/sock/uring/uring.c
/spdk/module/vfu_device/Makefile
/spdk/module/vfu_device/vfu_virtio_fs.c
/spdk/module/vfu_device/vfu_virtio_internal.h
/spdk/module/vfu_device/vfu_virtio_rpc.c
/spdk/python/spdk/rpc/__init__.py
/spdk/python/spdk/rpc/app.py
/spdk/python/spdk/rpc/bdev.py
/spdk/python/spdk/rpc/fsdev.py
/spdk/python/spdk/rpc/lvol.py
/spdk/python/spdk/rpc/mlx5.py
/spdk/python/spdk/rpc/nvmf.py
/spdk/python/spdk/rpc/vfio_user.py
/spdk/scripts/check_format.sh
/spdk/scripts/common.sh
/spdk/scripts/common/setup/interactive.sh
/spdk/scripts/perf/pm/collect-vmstat
/spdk/scripts/pkgdep/common.sh
/spdk/scripts/rpc.py
/spdk/scripts/setup.sh
/spdk/test/accel/dif/dif.c
/spdk/test/accel/mlx5/accel_mlx5_crypto.sh
/spdk/test/app/fuzz/llvm_vfio_fuzz/llvm_vfio_fuzz.c
/spdk/test/app/histogram_perf/histogram_perf.c
/spdk/test/bdev/bdev_raid.sh
/spdk/test/common/autobuild_common.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/pkgdep/git
/spdk/test/common/config/pkgdep/patches/ice/0001-__assign_str.patch
/spdk/test/common/config/pkgdep/patches/ice/0001-devlink_param.patch
/spdk/test/common/config/pkgdep/patches/ice/0001-napi_alloc_skb.patch
/spdk/test/common/config/pkgdep/patches/ice/0001-xsk_buff_dma.patch
/spdk/test/common/config/pkgdep/patches/irdma/0001-ip_route_output.patch
/spdk/test/common/config/pkgdep/patches/qat/0001-empty-body.patch
/spdk/test/common/config/pkgdep/patches/qat/0001-old-style-declaration.patch
/spdk/test/common/config/pkgdep/patches/qat/0001-ubuntu-algapi.patch
/spdk/test/common/lib/test_env.c
/spdk/test/common/skipped_build_files.txt
/spdk/test/common/skipped_tests.txt
/spdk/test/dd/negative_dd.sh
/spdk/test/env/vtophys/vtophys.c
/spdk/test/external_code/nvme/identify.c
/spdk/test/external_code/nvme/nvme.c
/spdk/test/fuzz/llvm.sh
/spdk/test/json_config/config_filter.py
/spdk/test/json_config/json_config.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/doorbell_aers/doorbell_aers.c
/spdk/test/nvme/e2edp/nvme_dp.c
/spdk/test/nvme/err_injection/err_injection.c
/spdk/test/nvme/fdp/fdp.c
/spdk/test/nvme/fused_ordering/fused_ordering.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/common.sh
/spdk/test/nvmf/host/fio.sh
/spdk/test/nvmf/host/mdns_discovery.sh
/spdk/test/nvmf/host/multicontroller.sh
/spdk/test/nvmf/nvmf_target_extra.sh
/spdk/test/nvmf/target/auth.sh
/spdk/test/nvmf/target/control_msg_list.sh
/spdk/test/nvmf/target/wait_for_buf.sh
/spdk/test/openstack/run_openstack_tests.sh
/spdk/test/scheduler/common.sh
/spdk/test/scheduler/core_isolating.sh
/spdk/test/scheduler/scheduler.sh
/spdk/test/setup/hugepages.sh
/spdk/test/unit/lib/Makefile
/spdk/test/unit/lib/accel/dpdk_compressdev.c/accel_dpdk_compressdev_ut.c
/spdk/test/unit/lib/accel/dpdk_cryptodev.c/accel_dpdk_cryptodev_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/mt/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/event/reactor.c/reactor_ut.c
/spdk/test/unit/lib/fsdev/Makefile
/spdk/test/unit/lib/fsdev/fsdev.c/Makefile
/spdk/test/unit/lib/fsdev/fsdev.c/fsdev_ut.c
/spdk/test/unit/lib/ftl/common/utils.c
/spdk/test/unit/lib/init/subsystem.c/subsystem_ut.c
/spdk/test/unit/lib/iscsi/iscsi.c/iscsi_ut.c
/spdk/test/unit/lib/nvme/nvme_ctrlr.c/nvme_ctrlr_ut.c
/spdk/test/unit/lib/nvme/nvme_ns_cmd.c/nvme_ns_cmd_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_rdma.c/nvme_rdma_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/auth.c/auth_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/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/vfio_user.c/vfio_user_ut.c
/spdk/test/unit/lib/reduce/reduce.c/reduce_ut.c
/spdk/test/unit/lib/thread/thread.c/thread_ut.c
/spdk/test/unit/unittest.sh
/spdk/test/vfio_user/vfio_user.sh
/spdk/test/vfio_user/virtio/fio_fs.sh
/spdk/test/vhost/common.sh
/spdk/test/vhost/common/fio_jobs/default_fsdev.job
/spdk/test/vhost/perf_bench/vhost_perf.sh
34edd9f110-Jul-2024 Kamil Godzwon <kamilx.godzwon@intel.com>

general: fix misspells and typos

Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+

general: fix misspells and typos

Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com>
Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24120
Community-CI: Mellanox Build Bot
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


/spdk/CHANGELOG.md
/spdk/app/fio/nvme/fio_plugin.c
/spdk/app/spdk_nvme_perf/perf.c
/spdk/autotest.sh
/spdk/configure
/spdk/doc/fips.md
/spdk/doc/lvol.md
/spdk/doc/nvme.md
/spdk/doc/peer_2_peer.md
/spdk/doc/ublk.md
/spdk/examples/bdev/bdevperf/bdevperf.py
/spdk/examples/blob/cli/README.md
/spdk/examples/nvme/abort/abort.c
/spdk/examples/nvme/nvme_manage/nvme_manage.c
/spdk/include/spdk/accel_module.h
/spdk/include/spdk/bdev_module.h
/spdk/include/spdk/blob_bdev.h
/spdk/include/spdk/conf.h
/spdk/include/spdk/env.h
/spdk/include/spdk/ftl.h
/spdk/include/spdk/idxd.h
/spdk/include/spdk/lvol.h
/spdk/include/spdk/nvme.h
/spdk/include/spdk/nvme_spec.h
/spdk/include/spdk/nvmf_transport.h
/spdk/include/spdk/thread.h
/spdk/include/spdk/vfu_target.h
/spdk/include/spdk_internal/cunit.h
/spdk/include/spdk_internal/mock.h
/spdk/include/spdk_internal/nvme.h
/spdk/include/spdk_internal/rdma_provider.h
/spdk/lib/accel/accel.c
/spdk/lib/accel/accel_rpc.c
/spdk/lib/bdev/bdev.c
/spdk/lib/blob/blobstore.c
/spdk/lib/env_dpdk/env.mk
/spdk/lib/env_ocf/ocf_env.h
/spdk/lib/event/app.c
/spdk/lib/event/reactor.c
/spdk/lib/event/scheduler_static.c
/spdk/lib/ftl/ftl_core.c
/spdk/lib/ftl/upgrade/ftl_layout_upgrade.h
/spdk/lib/ftl/utils/ftl_md.c
/spdk/lib/idxd/idxd.c
/spdk/lib/init/json_config.c
/spdk/lib/init/subsystem_rpc.c
/spdk/lib/nvme/nvme_auth.c
/spdk/lib/nvme/nvme_ctrlr.c
/spdk/lib/nvme/nvme_internal.h
/spdk/lib/nvme/nvme_tcp.c
/spdk/lib/nvmf/rdma.c
/spdk/lib/nvmf/subsystem.c
/spdk/lib/nvmf/tcp.c
/spdk/lib/nvmf/vfio_user.c
/spdk/lib/reduce/reduce.c
/spdk/lib/thread/iobuf.c
/spdk/lib/thread/thread.c
/spdk/lib/ublk/ublk.c
crc32.c
crc32c.c
fd_group.c
/spdk/lib/vfu_tgt/tgt_endpoint.c
/spdk/lib/vhost/rte_vhost_user.c
/spdk/lib/vhost/vhost_blk.c
/spdk/lib/virtio/virtio_vfio_user.c
/spdk/lib/virtio/virtio_vhost_user.c
/spdk/module/accel/dpdk_compressdev/accel_dpdk_compressdev.c
/spdk/module/accel/dpdk_cryptodev/accel_dpdk_cryptodev.c
/spdk/module/accel/iaa/accel_iaa.c
/spdk/module/accel/mlx5/accel_mlx5.c
/spdk/module/bdev/compress/vbdev_compress.c
/spdk/module/bdev/gpt/vbdev_gpt.c
/spdk/module/bdev/lvol/vbdev_lvol.c
/spdk/module/bdev/raid/bdev_raid.c
/spdk/module/bdev/raid/bdev_raid.h
/spdk/module/bdev/raid/raid1.c
/spdk/module/event/subsystems/sock/sock.c
/spdk/module/sock/posix/posix.c
/spdk/python/spdk/sma/qmp.py
/spdk/python/spdk/sma/volume/crypto.py
/spdk/scripts/backport.sh
/spdk/scripts/check_format.sh
/spdk/scripts/get-pmr
/spdk/scripts/perf/nvmf/README.md
/spdk/scripts/perf/nvmf/common.py
/spdk/scripts/perf/nvmf/run_nvmf.py
/spdk/scripts/perf/pm/collect-cpu-load
/spdk/scripts/perf/pm/collect-vmstat
/spdk/scripts/pkgdep/arch.sh
/spdk/scripts/rpc.py
/spdk/test/bdev/bdev_raid.sh
/spdk/test/bdev/blockdev.sh
/spdk/test/common/autotest_common.sh
/spdk/test/common/config/README.md
/spdk/test/common/config/pkgdep/patches/qat/0001-missing-prototypes.patch
/spdk/test/dd/uring.sh
/spdk/test/ftl/restore.sh
/spdk/test/json_config/config_filter.py
/spdk/test/nvme/cuse/nvme_ns_manage_cuse.sh
/spdk/test/nvme/doorbell_aers/doorbell_aers.c
/spdk/test/nvme/sgl/sgl.c
/spdk/test/nvme/sw_hotplug.sh
/spdk/test/nvmf/target/multitarget.sh
/spdk/test/scheduler/rpc.sh
/spdk/test/setup/hugepages.sh
/spdk/test/sma/crypto.sh
/spdk/test/sma/qos.sh
/spdk/test/unit/lib/accel/accel.c/accel_ut.c
/spdk/test/unit/lib/bdev/bdev.c/bdev_ut.c
/spdk/test/unit/lib/bdev/nvme/bdev_nvme.c/bdev_nvme_ut.c
/spdk/test/unit/lib/bdev/raid/raid1.c/raid1_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/idxd/idxd.c/idxd_ut.c
/spdk/test/unit/lib/json/json_util.c/json_util_ut.c
/spdk/test/unit/lib/jsonrpc/jsonrpc_server.c/jsonrpc_server_ut.c
/spdk/test/unit/lib/keyring/keyring.c/keyring_ut.c
/spdk/test/unit/lib/lvol/lvol.c/lvol_ut.c
/spdk/test/unit/lib/nvme/nvme_pcie.c/nvme_pcie_ut.c
/spdk/test/unit/lib/nvme/nvme_tcp.c/nvme_tcp_ut.c
/spdk/test/unit/lib/nvmf/auth.c/auth_ut.c
/spdk/test/unit/lib/nvmf/ctrlr.c/ctrlr_ut.c
/spdk/test/unit/lib/nvmf/tcp.c/tcp_ut.c
/spdk/test/unit/lib/vhost/vhost.c/vhost_ut.c
/spdk/test/vhost/common.sh
/spdk/test/vhost/fiotest/fio.sh
/spdk/test/vhost/other/negative.sh
084afa9023-Jul-2024 Konrad Sztyber <konrad.sztyber@intel.com>

util: copy errno before calling stdlib's functions

Functions are allowed to change the value of errno, even when they're
successful. So, save it before calling other functions to ensure it's
not ov

util: copy errno before calling stdlib's functions

Functions are allowed to change the value of errno, even when they're
successful. So, save it before calling other functions to ensure it's
not overwritten.

Additionally, scan-build complains that these errnos can still be zero,
even though the manual says that they're always set if an error is
encountered. To keep it quiet, added a couple of assertions that check
it.

Fixes: #3453

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I76209bc1970f42cc8d52446fa651d5a9fee3d70f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24298
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Bypass-Merge-Requirements: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...

f7d4903417-Jul-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

dif: Fix metadata config check of dif_ctx_init() and add unit test cases

For 32b Guard PI format and 64b Guard PI format, data block size should
be equal or greater than 4KiB. However, the check was

dif: Fix metadata config check of dif_ctx_init() and add unit test cases

For 32b Guard PI format and 64b Guard PI format, data block size should
be equal or greater than 4KiB. However, the check was done only for
separate metadata. This was wrong. Move the check to the common part to
be available both for interleaved metadata and separate metadata.

Unit test was not enough for such checks. Add more cases.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ibb3b0c4bf3c56ffc70a6e16eacbe8ca390e36ebb
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24204
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...

12345678910>>...13