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