History log of /spdk/test/unit/lib/bdev/raid/raid1.c/raid1_ut.c (Results 1 – 18 of 18)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v25.01-rc1, v24.09, v25.01-pre, v24.09-rc1, v24.05, v24.09-pre, v24.05-rc1
# 3b9baa5f 20-Mar-2024 Loïc Yavercovski <loic.yavercovski@gmail.com>

bdev/raid1: Support resize when increasing the size of base bdevs

Implement the resize function for RAID1. raid1_resize() calculate the
new raid_bdev's block count and if it is different from the ol

bdev/raid1: Support resize when increasing the size of base bdevs

Implement the resize function for RAID1. raid1_resize() calculate the
new raid_bdev's block count and if it is different from the old block
count, call spdk_bdev_notify_blockcnt_change() with the new block count.

Add a simple functional test for this feature. The test is to create
a raid1 bdev with two null bdevs, resize one null bdev, check if the
raid1 bdev is not resize, resize another null bdev, check if the raid1
bdev is resized.

The commit is an overall copy/adaptation of the work of Shuhei Matsumoto
with raid0.

Change-Id: I0737ba3fe4e1260d35d51e7b022c9cfd1eb6db58
Signed-off-by: Loïc Yavercovski <loic.yavercovski@gmail.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22619
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# cc94f303 23-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid1: handle read errors

If a read fails, try reading from other base bdevs and if that succeeds,
write to the bdev that returned the read error.

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

raid1: handle read errors

If a read fails, try reading from other base bdevs and if that succeeds,
write to the bdev that returned the read error.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Iffca8921d0177e16f1ac3d661b8b6131f3dbd39f
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22974
Tested-by: SPDK CI Jenkins <sys_sgci@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 ...


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

raid1: handle write errors

Fail base bdev on write error. If write to at least one base bdev
succeeds, complete the raid I/O as successful.

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

raid1: handle write errors

Fail base bdev on write error. If write to at least one base bdev
succeeds, complete the raid I/O as successful.

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I0315f98937a548648f819bf7e8c5707d7adec991
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22846
Community-CI: Mellanox Build Bot
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>

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


# fc3c9b37 12-Apr-2024 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

ut/raid: make the common ut functions public

If a file including common.c doesn't use some of those functions it
would cause a "defined but not used" warning.

Signed-off-by: Artur Paszkiewicz <artu

ut/raid: make the common ut functions public

If a file including common.c doesn't use some of those functions it
would cause a "defined but not used" warning.

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

show more ...


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

ut/raid: refactor setting test params

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: Ib06297159ebcb354da5198b9b0c4eeef087cde1c
Reviewed-on: https://review.spdk.io/gerrit/c

ut/raid: refactor setting test params

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


Revision tags: LTS, v24.01, v24.05-pre, v24.01-rc1, v23.09, v24.01-pre, v23.09-rc1
# aefa99f1 16-Jun-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

raid1: rebuild support

Change-Id: Ie700c90a787cbc1db1fc858e5d0caf1f6bbedaae
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18

raid1: rebuild support

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


Revision tags: v23.05, v23.09-pre, v23.01.1
# 6e03e49b 22-Mar-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: make struct raid_bdev_io_channel private to bdev_raid

Define getters for accessing only the necessary raid_ch data from the
raid modules.

Change-Id: I2622b0d219a3893ba3518b3c749695f6a1

module/raid: make struct raid_bdev_io_channel private to bdev_raid

Define getters for accessing only the necessary raid_ch data from the
raid modules.

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

show more ...


# a4e1703e 01-Jun-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: put relevant bdev_io data in raid_bdev_io

Everything the raid modules need will be in struct raid_bdev_io, they
won't access spdk_bdev_io fields directly. This will simplify the raid
mo

module/raid: put relevant bdev_io data in raid_bdev_io

Everything the raid modules need will be in struct raid_bdev_io, they
won't access spdk_bdev_io fields directly. This will simplify the raid
modules' code and expose only what's needed. It will also allow easier
implementation of functionality like raid_io splitting (in the following
patches), which needs to alter the io in some way.

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


# 59d79ec5 22-Mar-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

ut/raid: factor out raid io channel create/destroy

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

ut/raid: factor out raid io channel create/destroy

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


# 030dab89 22-Mar-2023 Artur Paszkiewicz <artur.paszkiewicz@intel.com>

module/raid: remove num_channels from raid_bdev_io_channel

This value is always equal to the number of base bdevs so just use that.

Change-Id: I6b6f2076c28b5f85f7ede212da048f594c54d6a9
Signed-off-b

module/raid: remove num_channels from raid_bdev_io_channel

This value is always equal to the number of base bdevs so just use that.

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


Revision tags: v23.01, v23.05-pre, v23.01-rc1, v22.01.2
# 5da1742b 04-Nov-2022 Krzysztof Smolinski <krzysztof.smolinski@intel.com>

test/raid1: unit tests for read balancing

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

test/raid1: unit tests for read balancing

Change-Id: Ic42bfe8be2d0d76e804a82b4837391384f01f8f8
Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15272
Community-CI: Mellanox Build Bot
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>

show more ...


# a73acd9f 04-Nov-2022 Krzysztof Smolinski <krzysztof.smolinski@intel.com>

raid1: read balancing

Allow using all base devices for reads instead of only the first one.
Keep track of the number of outstanding read blocks for every base bdev
and choose the least busy when han

raid1: read balancing

Allow using all base devices for reads instead of only the first one.
Keep track of the number of outstanding read blocks for every base bdev
and choose the least busy when handling a read I/O.

Here are some performance results. The tests were performed using fio on
2 and 3 drive (Intel P4510 2TB) arrays. Random reads, 1 thread, qd=128,
each run was 1 minute.

WITHOUT read balancing:
n=2 bs=4k : IOPS=804k, BW=3141MiB/s
n=3 bs=4k : IOPS=804k, BW=3140MiB/s
n=2 bsrange=4k-1M : IOPS=6421, BW=3223MiB/s
n=3 bsrange=4k-1M : IOPS=6416, BW=3222MiB/s
WITH read balancing:
n=2 bs=4k : IOPS=1291k, BW=5043MiB/s
n=3 bs=4k : IOPS=1572k, BW=6140MiB/s
n=2 bsrange=4k-1M : IOPS=12.2k, BW=6148MiB/s
n=3 bsrange=4k-1M : IOPS=18.0k, BW=9058MiB/s

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


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


# d68159b6 27-Oct-2022 Krzysztof Smolinski <krzysztof.smolinski@intel.com>

raid5f: io metadata support

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: I7760b2acc315970fbe1a99412dbd9a858ed17d0c
Signed-off-by: Artur Paszkiewicz <artur.paszkiewic

raid5f: io metadata support

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: I7760b2acc315970fbe1a99412dbd9a858ed17d0c
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15130
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: Tomasz Zawadzki <tomasz.zawadzki@intel.com>

show more ...


# 8f424ed8 19-Oct-2022 Krzysztof Smolinski <krzysztof.smolinski@intel.com>

raid1: io metadata support

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: I53a57f85d94110365492d457715f8a8bc1194628
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/s

raid1: io metadata support

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: I53a57f85d94110365492d457715f8a8bc1194628
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15127
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>

show more ...


# 69038a94 08-Nov-2022 Krzysztof Smolinski <krzysztof.smolinski@intel.com>

test/raid1: unit tests implementation

Implementation of basic unit tests for raid1 module.

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: Ide961b272cfd4997e51634dc6d2

test/raid1: unit tests implementation

Implementation of basic unit tests for raid1 module.

Signed-off-by: Krzysztof Smolinski <krzysztof.smolinski@intel.com>
Change-Id: Ide961b272cfd4997e51634dc6d298d9ab52d358a
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14437
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>

show more ...