History log of /spdk/test/unit/lib/bdev/mt/bdev.c/bdev_ut.c (Results 1 – 25 of 115)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v25.01-rc1
# 52a41348 02-Dec-2024 Jinlong Chen <chenjinlong.cjl@alibaba-inc.com>

bdev: do not retry nomem I/Os during aborting them

If bdev module reports ENOMEM for the first I/O in an I/O channel, all
subsequent I/Os would be queued in the nomem list. In this case,
io_outstand

bdev: do not retry nomem I/Os during aborting them

If bdev module reports ENOMEM for the first I/O in an I/O channel, all
subsequent I/Os would be queued in the nomem list. In this case,
io_outstanding and nomem_threshold would remain 0, allowing nomem I/Os
to be resubmitted unconditionally.

Now, a coming reset could trigger nomem I/O resubmission when aborting
nomem I/Os in the following path:

```
bdev_reset_freeze_channel
-> bdev_abort_all_queued_io
-> spdk_bdev_io_complete
-> _bdev_io_handle_no_mem
-> bdev_ch_retry_io
```

Both bdev_abort_all_queued_io and bdev_ch_retry_io modifies nomem_io
list in this path. Thus, there might be I/Os that are firstly submitted
to the underlying device by bdev_ch_retry_io, and then get aborted by
bdev_abort_all_queued_io, resulting in double-completion of these I/Os
later.

To fix this, just do not resubmit nomem I/Os when aborting is in
progress.

Change-Id: I1f66262216885779d1a883ec9250d58a13d8c228
Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25522
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@nvidia.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# ff173863 20-Nov-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

ut/bdev: Remove duplication with many stups among unit test files

Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test
files into the new file common_stubs.h in test/common/lib/bdev.

ut/bdev: Remove duplication with many stups among unit test files

Move all duplicated stubs in bdev.c, mt/bdev.c, and part.c unit test
files into the new file common_stubs.h in test/common/lib/bdev.

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

show more ...


# d47eb51c 30-Oct-2024 Jinlong Chen <chenjinlong.cjl@alibaba-inc.com>

bdev: fix a race between reset start and complete

There is a race between reset start and complete:

1. reset_1 is completing. It clears bdev->internal.reset_in_progress and
sends unfreeze_channe

bdev: fix a race between reset start and complete

There is a race between reset start and complete:

1. reset_1 is completing. It clears bdev->internal.reset_in_progress and
sends unfreeze_channel messages to remove queued resets of all
channels.
2. reset_2 is starting. As bdev->internal.reset_in_progress has been
cleared, it is inserted to queued_resets list and starts to freeze
channels.
3. reset_1's unfreeze_channel message removes reset_2 from queued_resets
list.
4. reset_2 finishes freezing channels, but the corresponding bdev_io has
gone, hence resulting in segmentation fault.

To fix this, we use per-bdev queued_resets list instead of per-channel
ones, and nullify bdev->internal.reset_in_progress after unfreezing bdev
channels. In this way, we can assure that all resets submitted during an
in-progress reset can be queued and completed correctly.

Besides, we do not insert the reset that is submitted to the underlying
device into the queued_resets list, so that the list can be processsed
cleanly.

Change-Id: I7cb14d790c1e20cea86e4829555d04acc408ee28
Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25371
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: GangCao <gang.cao@intel.com>

show more ...


Revision tags: v24.09, v25.01-pre, v24.09-rc1, v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1
# dc996557 29-Sep-2023 Ben Walker <ben@nvidia.com>

bdev: Remove module_link from spdk_bdev_io

This is no longer used.

Change-Id: Ic74b4a91941b0e3fcac921489ce2c62783be2881
Signed-off-by: Ben Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.i

bdev: Remove module_link from spdk_bdev_io

This is no longer used.

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

show more ...


# 95df4e0d 20-May-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev: Fix a race bug between unregistration and QoS poller

There was a bug that bdev_channel_poll_qos() called spdk_for_each_channel()
after spdk_io_device_unregister() is called for a bdev.

This o

bdev: Fix a race bug between unregistration and QoS poller

There was a bug that bdev_channel_poll_qos() called spdk_for_each_channel()
after spdk_io_device_unregister() is called for a bdev.

This occurred in the following sequence.
- There was a bdev and a channel for it.
- QoS was enabled and started.
- spdk_bdev_unregister() was called. However, there was a open descriptor.
Hence, remove notification was sent and unregistration was pending.
- Receiving a event notification, spdk_put_io_channel() and spdk_bdev_close() were
called. In spdk_bdev_close(), the existing QoS was unbound and a message was sent
to it, and then the pending spdk_io_device_unregister() was finally executed.
- If bdev_channel_poll_qos() was executed before the message was processed,
bdev_channel_poll_qos() called spdk_bdev_for_each_channel() and hit assert().

The fix is in this case bdev_channel_poll_qos() returned immediately because QoS
is not enabled. bdev_qos_destroy() created a new disabled QoS and swapped it with
the existing QoS.

Fixes issue #3367

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I8d4525c9206f7f395ad4ba4a706fed59addc3fe8
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23219
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# dbf0a9a5 15-May-2024 Ben Walker <ben@nvidia.com>

Revert "bdev: Remove module_link from spdk_bdev_io"

This reverts commit d1fd0d13acccbc0f0e9bfd5449d7c2882c644d82.

Change-Id: I5f82863f3948e2e17113575aa103ddbdc5cdbc14
Signed-off-by: Ben Walker <ben

Revert "bdev: Remove module_link from spdk_bdev_io"

This reverts commit d1fd0d13acccbc0f0e9bfd5449d7c2882c644d82.

Change-Id: I5f82863f3948e2e17113575aa103ddbdc5cdbc14
Signed-off-by: Ben Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23190
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# 79e2a56f 25-Apr-2024 Konrad Sztyber <konrad.sztyber@intel.com>

accel: remove flags

They were unused, deprecated, and scheduled for removal in v24.05.

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

accel: remove flags

They were unused, deprecated, and scheduled for removal in v24.05.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I48e7e59df56cf2368f23e925360644665948585a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22950
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 ...


# d1fd0d13 29-Sep-2023 Ben Walker <ben@nvidia.com>

bdev: Remove module_link from spdk_bdev_io

This is no longer used.

Change-Id: I11adf75d18669ae950eced57d52a97bc5b453de4
Signed-off-by: Ben Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.i

bdev: Remove module_link from spdk_bdev_io

This is no longer used.

Change-Id: I11adf75d18669ae950eced57d52a97bc5b453de4
Signed-off-by: Ben Walker <ben@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21938
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


Revision tags: v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1
# 055de83a 02-Mar-2023 Anton Nayshtut <anayshtut@nvidia.com>

bdev: multiple QoS queues with atomic-based QoS quota

Here's a comparison of the legacy and the atomic-based QoS.

Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled
the limit set

bdev: multiple QoS queues with atomic-based QoS quota

Here's a comparison of the legacy and the atomic-based QoS.

Tested with bdevperf + 1 null or malloc bdev. When the Qos is enabled
the limit set to the value higher than the setup is capable of achieving
(900.000.000 IOPs).

| bdev | CPU | No QoS | Legacy QoS | Atomic QoS | LP | AP |
| | Mask | | (IOPS) | (IOPS) | (%) | (%) |
|--------|------|--------------|------------|-------------|-----|-----|
| null | 1 | 10807210.39 | 8720802.93 | 8883633.79 | 19 | 18 |
| null | 3 | 21065293.41 | 7798114.51 | 8605514.14 | 63 | 59 |
| null | 7 | 31941220.35 | 8026022.82 | 11057120.85 | 75 | 65 |
| null | F | 42510017.40 | 7655892.00 | 11832259.16 | 82 | 72 |
| null | FF | 80864836.44 | 7598421.52 | 13096449.71 | 91 | 84 |
| null | FFF | 121780455.70 | 7609117.22 | 11030412.77 | 94 | 91 |
| null | FFFF | 162071300.70 | 7558077.12 | 10826030.57 | 95 | 93 |
| malloc | 1 | 1948096.14 | 1863817.94 | 1881245.75 | 4 | 3 |
| malloc | 3 | 3803549.11 | 2068897.67 | 3155528.57 | 46 | 17 |
| malloc | 7 | 5593798.24 | 2227017.22 | 4387343.78 | 60 | 22 |
| malloc | F | 7231720.95 | 2281762.70 | 5797832.38 | 68 | 20 |
| malloc | FF | 12070891.12 | 2614674.11 | 9690367.72 | 78 | 20 |
| malloc | FFF | 13989626.48 | 2630881.18 | 12840411.99 | 81 | 8 |
| malloc | FFFF | 14405443.97 | 2600775.13 | 9992956.98 | 82 | 31 |

Change-Id: Ia91706b761e085b4231a2fb9a08565c305735b7d
Signed-off-by: Anton Nayshtut <anayshtut@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18914
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# debc2429 07-May-2023 Anton Nayshtut <anayshtut@nvidia.com>

bdev_ut: abort all IOs upon reset

This patchset fixes the UT reset. It makes sure all the outstanding IOs are
aborted and not only the ones which belong to the current channel.

Change-Id: I60267670

bdev_ut: abort all IOs upon reset

This patchset fixes the UT reset. It makes sure all the outstanding IOs are
aborted and not only the ones which belong to the current channel.

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

show more ...


# ea941cae 28-Jul-2023 Konrad Sztyber <konrad.sztyber@intel.com>

test/unit: use spdk_ut_run_tests()

Replaced direct calls to the CUnit's functions to run the tests with
spdk_ut_run_tests(). That way, each test will have the ability to run
a specific test case.

test/unit: use spdk_ut_run_tests()

Replaced direct calls to the CUnit's functions to run the tests with
spdk_ut_run_tests(). That way, each test will have the ability to run
a specific test case.

The blob.c unit test wasn't changed, because it runs all tests multiple
times with different parameter combinations, so it cannot be easily
converted. In the future, each such combination could be split into a
separate test suite, which would make it compatible with
spdk_ut_run_tests().

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I4463f808f89844e9bf32b5b31eda197c5d729d1d
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19288
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# ae431e31 28-Jul-2023 Konrad Sztyber <konrad.sztyber@intel.com>

test/unit: move spdk_cunit.h to include/spdk_internal

It'll make it easier to include this file outside of unit tests.

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

test/unit: move spdk_cunit.h to include/spdk_internal

It'll make it easier to include this file outside of unit tests.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I171ddb8649f67b5786f08647560e2907603d0574
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19284
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# 687cfd4b 11-May-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

bdev: pass the range in lba range lock callback

This will be used by the following patch adding bdev quiesce API.

Change-Id: I636aaf47b79755c60c181f12b876a8c8a5a24a7b
Signed-off-by: Artur Paszkiewi

bdev: pass the range in lba range lock callback

This will be used by the following patch adding bdev quiesce API.

Change-Id: I636aaf47b79755c60c181f12b876a8c8a5a24a7b
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18099
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>

show more ...


# 63524340 09-Mar-2023 Konrad Sztyber <konrad.sztyber@intel.com>

accel: make spdk_accel_sequence_finish() void

It always returns 0 and any errors are reported in the callback. Making
it void simplifies error handling.

Signed-off-by: Konrad Sztyber <konrad.sztyb

accel: make spdk_accel_sequence_finish() void

It always returns 0 and any errors are reported in the callback. Making
it void simplifies error handling.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I0d4299a2789a688eae38d76de46d1baf27cbbd8f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17194
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Community-CI: Mellanox Build Bot

show more ...


# 04c222f2 15-Feb-2023 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: accel sequence support for read requests

This patch enables passing accel sequence for read requests. The
handling is pretty similar to writes, but the sequence is executed after
a request is

bdev: accel sequence support for read requests

This patch enables passing accel sequence for read requests. The
handling is pretty similar to writes, but the sequence is executed after
a request is completed by a bdev module.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I79fd7d4873265c81a9f4a66362634a1c4901d0c9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16975
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# 22c0e978 14-Feb-2023 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: accel sequence support for write requests

It is now possible to submit a write request with a sequence of accel
operations that need to be executed before actually writing the data.

Such requ

bdev: accel sequence support for write requests

It is now possible to submit a write request with a sequence of accel
operations that need to be executed before actually writing the data.

Such requests will be directly passed to a bdev module (so that it can
append subsequent operations to an accel sequence) if that bdev supports
accel sequences and the request doesn't need to be split. If either of
these conditions are not met, bdev layer will execute all the
accumulated accel operations before passing the request to a bdev
module.

The reason for not submitting split IOs with an accel sequence is that
we would need to split that accel sequence too. Currently, there's no
such functionality in accel, so we treat this case in the same way as if
the underlying bdev module didn't support accel sequences (it's executed
before bdev_io is split).

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I66c53b3a1a87a35ea2687292206c899f80aaed4a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16974
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# 80b22cf3 14-Feb-2023 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: allocate accel_channel for each bdev_channel

This channel will be used to execute accel operation sequences.

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

bdev: allocate accel_channel for each bdev_channel

This channel will be used to execute accel operation sequences.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ied4bb57d14a50a923908ffb13ef4ba34ca65175c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16972
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


Revision tags: v23.01, v23.05-pre, v23.01-rc1
# 3e7394af 19-Dec-2022 Mike Gerdts <mgerdts@nvidia.com>

bdev: remove bdev_register_examine_thread deprecation

Starting in SPDK 23.01, calling spdk_bdev_register() and
spdk_bdev_examine() from a thread other than the app thread was
deprecated. This commit

bdev: remove bdev_register_examine_thread deprecation

Starting in SPDK 23.01, calling spdk_bdev_register() and
spdk_bdev_examine() from a thread other than the app thread was
deprecated. This commit removes the deprecation and as such calling
these functions from a thread other than the app thread is an error.

As a side effect of this commit, all bdev module examine_config() and
examine_disk() callbacks will be called on the app thread.

Change-Id: Idaae06608101e2a513d9312ac5544ffe94effe4a
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15826
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


# 3522d43a 27-Jan-2023 Shuhei Matsumoto <smatsumoto@nvidia.com>

bdev: Unify _resize_notify() and _remove_notify()

The next patch will improve media mgmt notifications but it will be
almost same as _resize_notify() and _remove_notify().

On the other hand, there

bdev: Unify _resize_notify() and _remove_notify()

The next patch will improve media mgmt notifications but it will be
almost same as _resize_notify() and _remove_notify().

On the other hand, there are a few differences between _resize_notify()
and _remove_notify(). _remove_notify() will be better.

To avoid duplication, unify _resize_notify() and _remove_notify() by
adding abstraction event_notify() and _event_notify().

Add unit tests for the complex race conditions.

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Change-Id: Ibe2478479c61459c0da0db8d28c7273f05275e0f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16577
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>

show more ...


# cf64422a 27-Jan-2023 Jim Harris <james.r.harris@intel.com>

bdev: call unregister callback on correct thread

We should always called the unregister callback on
the same thread that spdk_bdev_unregister() was
originally called. So save the thread pointer and

bdev: call unregister callback on correct thread

We should always called the unregister callback on
the same thread that spdk_bdev_unregister() was
originally called. So save the thread pointer and
use an spdk_thread_send_msg() to make sure it gets
called on the correct thread when the unregister
finishes.

Also add unit test that reproduces the original
issue.

Fixes issue #2883.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ib3d89368aa358bc7a8db46a8a8cb6339340469d9

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16554
Reviewed-by: Mike Gerdts <mgerdts@nvidia.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# a6e58cc4 29-Nov-2022 Mike Gerdts <mgerdts@nvidia.com>

bdev: examine and register on app thread

This introduces a deprecation for calling spdk_bdev_register() and
spdk_bdev_examine() on a thread other than the app thread. The
deprecation period starts i

bdev: examine and register on app thread

This introduces a deprecation for calling spdk_bdev_register() and
spdk_bdev_examine() on a thread other than the app thread. The
deprecation period starts in SPDK 23.01 and removal is expected in SPDK
23.05.

The intent of this deprecation is to ensure that bdev modules'
examine_config() and examine_disk() callbacks are only ever called on
the app thread. This largely a formalization of what has long happened
due to the RPC poller running on the first thread started by
spdk_app_start().

Signed-off-by: Mike Gerdts <mgerdts@nvidia.com>
Change-Id: Ic9d7b87b6522be20357d2eab2d0c77cd5753452f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15690
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@intel.com>

show more ...


# 1450c547 14-Dec-2022 GangCao <gang.cao@intel.com>

lib/bdev: send back the eligible QoS IO to the original thread

Fix issue: #2815

Change-Id: Ic1533b9ed055734a721be0fd7159754e5db1791b
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https:/

lib/bdev: send back the eligible QoS IO to the original thread

Fix issue: #2815

Change-Id: Ic1533b9ed055734a721be0fd7159754e5db1791b
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15917
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


Revision tags: v22.01.2
# 5a3e64ef 04-Nov-2022 Konrad Sztyber <konrad.sztyber@intel.com>

bdev: replace internal buffer pools with iobuf

The internal mempools were replaced with the newly added iobuf
interface.

To make sure we respect spdk_bdev_opts's (small|large)_buf_pool_size, we
cal

bdev: replace internal buffer pools with iobuf

The internal mempools were replaced with the newly added iobuf
interface.

To make sure we respect spdk_bdev_opts's (small|large)_buf_pool_size, we
call spdk_iobuf_set_opts() from spdk_bdev_set_opts(). These two options
are now deprecated and users should switch to spdk_iobuf_set_opts().

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: Ib1424dc5446796230d103104e272100fac649b42
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15328
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


# b45556e2 14-Nov-2022 Changpeng Liu <changpeng.liu@intel.com>

include/bdev_module.h: add `SPDK_` prefix to macros

`BDEV_IO_NUM_CHILD_IOV` and `BDEV_RESET_IO_DRAIN_RECOMMENDED_VALUE`
are public macro definitions without `SPDK_` prefix, so we add the
`SPDK_` pre

include/bdev_module.h: add `SPDK_` prefix to macros

`BDEV_IO_NUM_CHILD_IOV` and `BDEV_RESET_IO_DRAIN_RECOMMENDED_VALUE`
are public macro definitions without `SPDK_` prefix, so we add the
`SPDK_` prefix to them.

Change-Id: I4be86459f0b6ba3a4636a2c8130b2f12757ea2da
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15425
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# a6dbe372 01-Nov-2022 paul luse <paul.e.luse@intel.com>

update Intel copyright notices

per Intel policy to include file commit date using git cmd
below. The policy does not apply to non-Intel (C) notices.

git log --follow -C90% --format=%ad --date defa

update Intel copyright notices

per Intel policy to include file commit date using git cmd
below. The policy does not apply to non-Intel (C) notices.

git log --follow -C90% --format=%ad --date default <file> | tail -1

and then pull just the 4 digit year from the result.

Intel copyrights were not added to files where Intel either had
no contribution ot the contribution lacked substance (ie license
header updates, formatting changes, etc). Contribution date used
"--follow -C95%" to get the most accurate date.

Note that several files in this patch didn't end the license/(c)
block with a blank comment line so these were added as the vast
majority of files do have this last blank line. Simply there for
consistency.

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192
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>
Community-CI: Mellanox Build Bot

show more ...


12345