History log of /spdk/module/bdev/raid/bdev_raid.c (Results 1 – 25 of 162)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v25.01-rc1
# fa3ab738 25-Oct-2024 Yankun Li <yankun@staff.sina.com>

bdev/raid: Fix raid_bdev->sb null pointer

This patch adds a check to ensure that raid_bdev->sb is
not NULL, with the goal of prohibiting the creation of a
RAID block device using base block devices

bdev/raid: Fix raid_bdev->sb null pointer

This patch adds a check to ensure that raid_bdev->sb is
not NULL, with the goal of prohibiting the creation of a
RAID block device using base block devices that have a
superblock.

Fixes issue #3565

Change-Id: I87985325eac8b623dd28ec01edef7a9e4613850a
Signed-off-by: Yankun Li <yankun@staff.sina.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25375
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Changpeng Liu <changpeliu@tencent.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>

show more ...


Revision tags: v24.09, v25.01-pre, v24.09-rc1
# 5031f0f3 19-Sep-2024 Slawomir Ptak <slawomir.ptak@intel.com>

module/raid: Assign bdev_io buffers to raid_io

If an application does not allocate data and metadata
buffers for the read operation and relies on the generic
bdev layer to do the allocations, the da

module/raid: Assign bdev_io buffers to raid_io

If an application does not allocate data and metadata
buffers for the read operation and relies on the generic
bdev layer to do the allocations, the data iovecs
and metadata pointer was not copied to the raid_io
and not pushed down the I/O stack.

This fix copies the pointers once the allocations are complete.
If the application did provide the buffers, this flow will
still work since those pointers are already in the bdev_io
and raid_io.

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

show more ...


# fbfc2c9d 19-Sep-2024 Konrad Sztyber <konrad.sztyber@intel.com>

bdev/raid: update SPDK_TRACE_REGISTER_FN() call

After commit 0eae01067000 ("trace: do not define fn in
SPDK_TRACE_REGISTER_FN"), this macro now requires the trace function to
be defined separately.

bdev/raid: update SPDK_TRACE_REGISTER_FN() call

After commit 0eae01067000 ("trace: do not define fn in
SPDK_TRACE_REGISTER_FN"), this macro now requires the trace function to
be defined separately. It updated all calls to this macro, but before
it was merged a new one was added in bdev_raid. This patch fixes build
failures that happen because of that.

Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I26633d276c1037daa567777906b2be6df1c90849
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24967
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Michal Berger <michal.berger@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz@tzawadzki.com>

show more ...


# 8d52c4c2 20-Aug-2024 xupeng-mingtu <jingmamour@gmail.com>

add new trace BDEV_RAID_IO_START and BDEV_RAID_IO_DONE

Through the both new trace, we can analyze the time consumed by
IO at the RAID layer and the time consumed by each base bdev IO.
This is a trac

add new trace BDEV_RAID_IO_START and BDEV_RAID_IO_DONE

Through the both new trace, we can analyze the time consumed by
IO at the RAID layer and the time consumed by each base bdev IO.
This is a trace example of raid1 IO:

BDEV_IO_START id: i3481
BDEV_RAID_IO_START id: R870 (i3481)
BDEV_IO_START id: i3482 (R870)
BDEV_IO_START id: i3483 (R870)
BDEV_IO_DONE id: i3482 (R870) time: 14.769
BDEV_IO_DONE id: i3483 (R870) time: 15.319
BDEV_RAID_IO_DONE id: R870 (i3481) time: 16.521
BDEV_IO_DONE id: i3481 time: 16.804

Change-Id: I228b660594a39721567e3a0d606b20e8e8b69e1b
Signed-off-by: Xupeng Mingtu <xupeng9@staff.sina.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24894
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# 3cd7b237 26-Jul-2024 Sebastian Brzezinka <sebastian.brzezinka@intel.com>

bdev/raid: clear `data_offset` to allow it to be recalculated

If one of the slots of raid bdev is replaced, the optimal
`data_offset` for the new disk added will be recalculated.

Fixes #3419

Chang

bdev/raid: clear `data_offset` to allow it to be recalculated

If one of the slots of raid bdev is replaced, the optimal
`data_offset` for the new disk added will be recalculated.

Fixes #3419

Change-Id: I748ef2d3274f37d0a1e7cd4c443e316b8b0e45bc
Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24339
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>

show more ...


# a5cd4a6d 16-Aug-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: call spdk_bdev_module_examine_done() asynchronously in sb case

Don't call spdk_bdev_module_examine_done() util the sb examine has
actually completed.

Signed-off-by: Artur Paszkiewicz <artur.p

raid: call spdk_bdev_module_examine_done() asynchronously in sb case

Don't call spdk_bdev_module_examine_done() util the sb examine has
actually completed.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I1e311e7d5dd7452e211dcd65e32b0eae322f2222
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24573
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@samsung.com>

show more ...


# bbccfa09 16-Aug-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: factor out finishing examine to helper function

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I5c4cb2bec5682094c813aa69f101ea7a75b95463
Reviewed-on: https://review.

raid: factor out finishing examine to helper function

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I5c4cb2bec5682094c813aa69f101ea7a75b95463
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24572
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@samsung.com>

show more ...


# fc2398df 22-Jul-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: clear base bdev configure_cb after executing

Suggested-by: Konrad Sztyber <konrad.sztyber@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I04a7c3b28137f0f2

raid: clear base bdev configure_cb after executing

Suggested-by: Konrad Sztyber <konrad.sztyber@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I04a7c3b28137f0f2f466231ced23f434ee3fe05b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24286
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 5558f3f5 17-Jul-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: complete bdev_raid_create after sb is written

If a raid_bdev is created with superblock, raid_bdev_configure() will
not complete synchronously because it issues sb writes. Add a callback
for r

raid: complete bdev_raid_create after sb is written

If a raid_bdev is created with superblock, raid_bdev_configure() will
not complete synchronously because it issues sb writes. Add a callback
for raid_bdev_configure() and use it to defer the final base bdev
configure callback.

Fixes #3413

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Ic1e629e80447390656aa3d4c1ac3f120a409be70
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24216
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# d005e023 19-Jul-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: fix empty slot not updated in sb after resize

Slots for not configured base bdevs were omitted when updating the superblock.
It caused wrong data size to be used if a base bdev in that slot wa

raid: fix empty slot not updated in sb after resize

Slots for not configured base bdevs were omitted when updating the superblock.
It caused wrong data size to be used if a base bdev in that slot was later
rebuilt and the raid was restarted.

Reported-by: Loïc Yavercovski <loic.yavercovski@gmail.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I0666da02f544951a95f7acf16c2f7aae5a8a7ab7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24260
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# 19f5787c 05-Jun-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: skip configured base bdevs in sb examine

If a bdev with sb is added while raid_bdev_examine_others() is examining
the base bdevs it may try to configure a base bdev again. Prevent it but
allow

raid: skip configured base bdevs in sb examine

If a bdev with sb is added while raid_bdev_examine_others() is examining
the base bdevs it may try to configure a base bdev again. Prevent it but
allow raid_bdev_examine_others() to continue.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I203ac4af1e5c84d09c154967da8ddec99e289479
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23541
Reviewed-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


Revision tags: v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01
# 89fd1730 25-Jan-2024 xupeng9 <xupeng9@staff.sina.com>

bdev/raid: add qos for raid process

Change-Id: I5383d8658c59760ccaaec163e25d5e6d0cd8e1d0
Signed-off-by: xupeng-mingtu <jingmamour@gmail.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/

bdev/raid: add qos for raid process

Change-Id: I5383d8658c59760ccaaec163e25d5e6d0cd8e1d0
Signed-off-by: xupeng-mingtu <jingmamour@gmail.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21732
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot

show more ...


# fcf59a6f 10-Jun-2024 Shuhei Matsumoto <smatsumoto@nvidia.com>

module/bdev: Initialize bdev->dif_pi_format

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: I5393205a7a29eca2577b4c0772ec08526fd8a8c0
Reviewed-on: https://review.spdk.io/gerrit/c/

module/bdev: Initialize bdev->dif_pi_format

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

show more ...


# f8465ae4 26-Apr-2024 Sebastian Brzezinka <sebastian.brzezinka@intel.com>

bdev/raid: Release claimed base bdevs for raids in module fini

When SPDK terminates with a signal, some of the raid bdevs that were
in the 'configuring' state won't close properly. This patch ensure

bdev/raid: Release claimed base bdevs for raids in module fini

When SPDK terminates with a signal, some of the raid bdevs that were
in the 'configuring' state won't close properly. This patch ensures
that all raid bdevs resources are freed and unclaimed at exit.

Change-Id: Iebc139caf59ea41c8adf60f4b2c2a009e516ba5f
Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22929
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>

show more ...


# 9820a949 18-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: add a default completion status to raid_bdev_io

As base I/Os complete, the final raid I/O completion status will change
only if the base I/O status is different than the default. So if the
def

raid: add a default completion status to raid_bdev_io

As base I/Os complete, the final raid I/O completion status will change
only if the base I/O status is different than the default. So if the
default is "FAILED" and a base I/O completes with "SUCCESS", it will be
set to "SUCCESS" and won't change if subsequent I/Os complete with
"FAILED".

This will be used by raid1 writes, where the completion status should be
successful even if some base I/Os failed.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Idc800baacb9efc36207f77c31a01ec5a2867ccdd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22845
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# f1a03e33 18-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: add support for failing a base bdev due to io error

Add a function to be used by the raid modules to fail a base bdev when
handling a failed I/O.

Signed-off-by: Artur Paszkiewicz <artur.paszk

raid: add support for failing a base bdev due to io error

Add a function to be used by the raid modules to fail a base bdev when
handling a failed I/O.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I5db039772f42be88768450f3bce5602c435e7fad
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22844
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# 35a054db 18-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: utility function to get a base bdev in io context

This will be used to get a pointer to struct raid_base_bdev_info from
I/O completion context when we only have the spdk_bdev.

Signed-off-by:

raid: utility function to get a base bdev in io context

This will be used to get a pointer to struct raid_base_bdev_info from
I/O completion context when we only have the spdk_bdev.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I4e1e87ed31c9812859f0a0e1444a3a678682db62
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22843
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# cb768e81 17-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: write sb earlier when removing a base bdev

Update the superblock as soon as the raid bdev is quiesced, then
continue with removing the base bdev.

The condition in _raid_bdev_write_superblock(

raid: write sb earlier when removing a base bdev

Update the superblock as soon as the raid bdev is quiesced, then
continue with removing the base bdev.

The condition in _raid_bdev_write_superblock() has to be changed because
base_info->desc is not NULL now, only remove_scheduled is set at this
stage of removing the base bdev.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I6a55d0ed5d0c1e3fc38825ac23d1556d42d2e801
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22842
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot

show more ...


# 1b9c5629 17-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: move the raid I/O wrappers back to the header

Instead of having these in bdev_raid.c, just make
raid_bdev_remap_dix_reftag() public. This allows to have the unit tests
a little simpler and bet

raid: move the raid I/O wrappers back to the header

Instead of having these in bdev_raid.c, just make
raid_bdev_remap_dix_reftag() public. This allows to have the unit tests
a little simpler and better reflecting the real behavior.

This effectively reverts 2c9dfc37c ("module/raid: Move the RAID I/O
wrappers").

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I92de84d7cbc233f5d744aedf6e77d0728ecdaa72
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22828
Reviewed-by: Jim Harris <jim.harris@samsung.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 ...


# 1a587504 10-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: fix race between process starting and removing a base bdev

Abort starting the process if a base bdev was removed in the meantime.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com

raid: fix race between process starting and removing a base bdev

Abort starting the process if a base bdev was removed in the meantime.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I45345322c6e21837d257cbe0598c5eb19f3f41be
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22773
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# b3750343 10-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: don't remove an unconfigured base bdev

Also remove the redundant check from a caller of
_raid_bdev_remove_base_bdev().

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id

raid: don't remove an unconfigured base bdev

Also remove the redundant check from a caller of
_raid_bdev_remove_base_bdev().

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I53b873d1aab35ce8d7be7317beaa5ee4553aba13
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22752
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# a6708553 10-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: fix race between starting rebuild and creating io channel

If a channel was created after adding a base bdev but before
raid_bdev->process was set it would treat the target bdev as normal. Add

raid: fix race between starting rebuild and creating io channel

If a channel was created after adding a base bdev but before
raid_bdev->process was set it would treat the target bdev as normal. Add
a new flag to base bdev to allow seeing that it is a process target
before the process starts.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I041968e748d5f48e83c4c00f349ea148221ded31
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22751
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 2dc74a00 13-May-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: free base bdev earlier during removal

The base bdev can be freed before unquiescing the raid bdev. This also
assures that it is freed even if unquiesce fails.

Signed-off-by: Artur Paszkiewicz

raid: free base bdev earlier during removal

The base bdev can be freed before unquiescing the raid bdev. This also
assures that it is freed even if unquiesce fails.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I8d215e34d059cefdbc5c51f22578c518873f6819
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23148
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 6518a98d 10-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: remove base_bdev_lock

This lock was necessary to prevent accessing the base bdev desc by the
io channels during base bdev removal. Instead of relying on the desc
pointer, first check is_config

raid: remove base_bdev_lock

This lock was necessary to prevent accessing the base bdev desc by the
io channels during base bdev removal. Instead of relying on the desc
pointer, first check is_configured. If it is true, the descriptor won't
become invalid until the end of the function, because now there is a
spdk_for_each_channel() call between clearing is_configured and closing
the descriptor.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Ia7c3a87764c2992c3f96e89afd98b048f77c62b7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22750
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

show more ...


# 96aff3c9 09-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: fix some issues in raid_bdev_write_config_json()

Don't write out strip size if it is not set, also skip the superblock
field because its value is always false here.

Don't just skip printing r

raid: fix some issues in raid_bdev_write_config_json()

Don't write out strip size if it is not set, also skip the superblock
field because its value is always false here.

Don't just skip printing removed base bdevs because recreating a raid
bdev from such config would result in a raid with a smaller number of
base bdevs and different layout in case of raid5f. Creating a raid bdev
with missing base bdevs is currently not possible, so make up a bdev
name for a missing slot that will prevent from actually activating the
raid.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I58392b1e97a7ccb8a51559060bb6d4e303a7eee6
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22749
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


1234567