History log of /spdk/module/bdev/raid/bdev_raid.h (Results 1 – 25 of 88)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v25.01-rc1, v24.09, v25.01-pre, v24.09-rc1
# 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 ...


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 ...


# 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 ...


# 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 ...


# 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 ...


# 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 ...


# e9af23de 14-Mar-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: combine _raid_bdev_add_base_device() and raid_bdev_add_base_device()

_raid_bdev_add_base_device() is now used only in
raid_bdev_add_base_device() so combine them into one. Rename it to
raid_bd

raid: combine _raid_bdev_add_base_device() and raid_bdev_add_base_device()

_raid_bdev_add_base_device() is now used only in
raid_bdev_add_base_device() so combine them into one. Rename it to
raid_bdev_add_base_bdev() for consistency with other function names.

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

show more ...


# 0074299d 14-Mar-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: combine raid_bdev_attach_base_bdev() and raid_bdev_add_base_device()

raid_bdev_add_base_device() is used only in CONFIGURING state, during
raid bdev creation. raid_bdev_attach_base_bdev() work

raid: combine raid_bdev_attach_base_bdev() and raid_bdev_add_base_device()

raid_bdev_add_base_device() is used only in CONFIGURING state, during
raid bdev creation. raid_bdev_attach_base_bdev() works similarily but
only in ONLINE state, to add a base bdev for rebuild. They can be
combined to cover both cases with a single function.

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

show more ...


# 210c233f 11-Mar-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: pass just the bdev name to raid_bdev_attach_base_bdev()

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

raid: pass just the bdev name to raid_bdev_attach_base_bdev()

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

show more ...


# 0ebc1339 01-Feb-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: move blocklen_shift to r5f_info

This is not generally useful now but there is one case in raid5f where
it is used to avoid a division, so move it there.

Signed-off-by: Artur Paszkiewicz <artu

raid: move blocklen_shift to r5f_info

This is not generally useful now but there is one case in raid5f where
it is used to avoid a division, so move it there.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I2662160e72a71b2bae499655fe4fb7d236fb766f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21684
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Community-CI: Mellanox Build Bot

show more ...


# fa8b2fd7 31-Jan-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: add fields for superblock io buf

For now this just points to the superblock buffer but will be different
for interleaved md.

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

raid: add fields for superblock io buf

For now this just points to the superblock buffer but will be different
for interleaved md.

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

show more ...


# ceb2ad0c 21-Mar-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: update superblock after raid bdev is resized

Fixes #3311

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

raid: update superblock after raid bdev is resized

Fixes #3311

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

show more ...


# 192db8de 26-Jan-2024 Slawomir Ptak <slawomir.ptak@intel.com>

module/raid: DIX support for RAID 0

Added an ability for the application to use DIX protection
(separate metadata) with the RAID bdev, with RAID level 0.

In order to handle the protection informati

module/raid: DIX support for RAID 0

Added an ability for the application to use DIX protection
(separate metadata) with the RAID bdev, with RAID level 0.

In order to handle the protection information correctly for
RAID bdevs, the patch introduces Reference Tag remapping between
the RAID bdev and base bdevs on read and write paths.

Change-Id: I4056a3e4410a4df3282b993b655f6e6e2715e5a9
Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21618
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>

show more ...


# 46adadcf 07-Feb-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: don't align RAID_BDEV_SB_MAX_LENGTH to 4k

This is not necessary because the sb buffer is allocated now with size
rounded up to the block size.

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

raid: don't align RAID_BDEV_SB_MAX_LENGTH to 4k

This is not necessary because the sb buffer is allocated now with size
rounded up to the block size.

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


# c25b80e2 07-Feb-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: alloc sb buffer when configuring the raid bdev

Move the allocation to a later point, when the block size is known. This
will be needed for upcoming patches for interleaved metadata.

Signed-of

raid: alloc sb buffer when configuring the raid bdev

Move the allocation to a later point, when the block size is known. This
will be needed for upcoming patches for interleaved metadata.

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

show more ...


# 3bb8256a 07-Feb-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid: add raid_bdev->superblock_enabled flag

The next patch will change when raid_bdev->sb is allocated and this flag
will be necessary.

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

raid: add raid_bdev->superblock_enabled flag

The next patch will change when raid_bdev->sb is allocated and this flag
will be necessary.

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

show more ...


# 2c9dfc37 15-Feb-2024 Slawomir Ptak <slawomir.ptak@intel.com>

module/raid: Move the RAID I/O wrappers

Move the RAID I/O wrappers from the header to the C file,
since those functions need to be extended with some additional
logic related to DIF/DIX handling.

C

module/raid: Move the RAID I/O wrappers

Move the RAID I/O wrappers from the header to the C file,
since those functions need to be extended with some additional
logic related to DIF/DIX handling.

Change-Id: I7cce52b950ebb75905e43874a3b44b041adb0df2
Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21898
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>

show more ...


Revision tags: v24.05-pre, v24.01-rc1
# f39350be 17-Jan-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: configurable process window size

Make the process window size configurable. In order to make it possible,
add new RPC bdev_raid_set_options.

Change-Id: I68f0ecda1b2057c58dfdce7369afa52

module/raid: configurable process window size

Make the process window size configurable. In order to make it possible,
add new RPC bdev_raid_set_options.

Change-Id: I68f0ecda1b2057c58dfdce7369afa520e659e1aa
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21477
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Tested-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# 6eed119e 06-Nov-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: wait for base bdev callbacks when creating raid bdev

Errors reported asynchronously (like when reading the superblock) would
be ignored. Now, bdev_raid_create RPC will not return until

module/raid: wait for base bdev callbacks when creating raid bdev

Errors reported asynchronously (like when reading the superblock) would
be ignored. Now, bdev_raid_create RPC will not return until all base
bdev callbacks have completed.

Change-Id: Icc53d88d965b878f18889ed2b6030bf37a2b915c
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20521
Tested-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 9d2b7b41 06-Dec-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: stop rebuild before the raid bdev is unregistered

Open the raid bdev internally to receive SPDK_BDEV_EVENT_REMOVE and
stop the rebuild process from the event callback. Unregistering wil

module/raid: stop rebuild before the raid bdev is unregistered

Open the raid bdev internally to receive SPDK_BDEV_EVENT_REMOVE and
stop the rebuild process from the event callback. Unregistering will
be performed after the descriptor is closed. The process needs to be
stopped before the destruct callback, because stopping the rebuild
process may require unquiescing a range, which requires the bdev
spin lock, which is destroyed before the bdev module's destruct()
callback is called.

We will look later at trying to fix this problem at bdev layer, to
avoid bdev modules having to open themselves to avoid these kinds of
problems.

Change-Id: Ic9c5bf14f785aaf7629bf1c9d2e1889e254cec5f
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20830
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# aae5e04f 24-Nov-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: raid_io handling during rebuild

Handle I/Os for the processed (rebuilt) range differently than for the
unprocessed range. Use a copy of raid_bdev_io_channel, corresponding to
the proces

module/raid: raid_io handling during rebuild

Handle I/Os for the processed (rebuilt) range differently than for the
unprocessed range. Use a copy of raid_bdev_io_channel, corresponding to
the processed range, and assign it to the I/Os for this range. I/Os that
span both ranges will be queued by the bdev layer if the process window
range is quiesced. Otherwise, split them and handle separately.

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


# 887b8ec4 30-Nov-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: raid_bdev_attach_base_bdev

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: Ib6ad6589ba19db95a2a5f0031f73cea8a351cb5d
Signed-off-by: Artur Paszkiewicz <artu

module/raid: raid_bdev_attach_base_bdev

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


Revision tags: v23.09, v24.01-pre, v23.09-rc1
# 50d58ff3 07-Jul-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: rebuild support

Add support for running a background "process" for performing the
rebuild I/O. In the future, different types of processes can be added,
like resync or migration.

The p

module/raid: rebuild support

Add support for running a background "process" for performing the
rebuild I/O. In the future, different types of processes can be added,
like resync or migration.

The process performs its work inside a "window" - a range of LBAs of
predefined maximum size. The basic flow of the process is:
- lock (quiesce) the range
- submit process requests, handled by the raid module implementation
- completion of process requests
- update io channels - move the processed range offset
- unlock (unquiesce) the range
- repeat until all blocks are processed or the process is stopped

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

show more ...


1234