]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
graid: MFC: unbreak Promise RAID1 with 4+ providers
authorEugene Grosbein <eugen@FreeBSD.org>
Mon, 12 Feb 2024 07:24:28 +0000 (14:24 +0700)
committerEugene Grosbein <eugen@FreeBSD.org>
Sat, 17 Feb 2024 18:35:20 +0000 (01:35 +0700)
commit394ceefc2f2f586f303461428497d3961b89d078
treee802cca6da16ebb993c7790ebc3308ef96f83a07
parenta233f7fadfca5cf806201a97e1e200054c7e87c3
graid: MFC: unbreak Promise RAID1 with 4+ providers

Fix a problem in graid implementation of Promise RAID1 created with 4+ disks.
Such an array generally works fine until reboot only due to a bug
in metadata writing code. Before the fix, next taste erronously created
RAID1E (kind of RAID10) instead of RAID1, hence graid used wrong offsets
for I/O operations.

The bug did not affect Promise RAID1 arrays with 2 or 3 disks only.

Reviewed by: mav
Approved-by: re (cperciva)

(cherry picked from commit 81092e92ea5184c4eeedad58044d72cfef72dd24)
(cherry picked from commit 77814c95994aab102be0e327de788dc1c00c023d)
sys/geom/raid/md_promise.c