Commit d005e023 authored by Artur Paszkiewicz's avatar Artur Paszkiewicz Committed by Tomasz Zawadzki
Browse files

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: default avatarLoïc Yavercovski <loic.yavercovski@gmail.com>
Signed-off-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I0666da02f544951a95f7acf16c2f7aae5a8a7ab7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24260


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent f41dbc23
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2322,7 +2322,7 @@ raid_bdev_resize_base_bdev(struct spdk_bdev *base_bdev)
		for (i = 0; i < sb->base_bdevs_size; i++) {
			struct raid_bdev_sb_base_bdev *sb_base_bdev = &sb->base_bdevs[i];

			if (sb_base_bdev->state == RAID_SB_BASE_BDEV_CONFIGURED) {
			if (sb_base_bdev->slot < raid_bdev->num_base_bdevs) {
				base_info = &raid_bdev->base_bdev_info[sb_base_bdev->slot];
				sb_base_bdev->data_size = base_info->data_size;
			}