On 3/3/21 7:45 PM, Mark Schneider wrote:
I can run some tests with modified BIOS settings (IDE instead of AHCI) and the Samsung PRO 860 SSDs.

From my point of view it is important to check and optimize the I/O error handling as I/O errors can always happen and in such case the OS should not crash (other hardware combinations might be impacted es well).


Mark, since you do have hardware to test, are you able to develop and push the patch to tech@ ?

I am afraid, currently I am not able to develop such patch myself as I am not familiar enough with the I/O stuff in OpenBSD and last time I did some x86 assembler programming was approx 35 years ago (debugging).

What I can do however is just testing as I have the "non working" system combination with the AMD SB950 chipset and Samsung PRO 860 SSDs.



Mark,

are you able to test patch below? I'm currious if you will get some illegal xs reference printing on console.

diff --git a/sys/dev/softraid.c b/sys/dev/softraid.c
index 0ffaeb86ca0..c6d2086594e 100644
--- a/sys/dev/softraid.c
+++ b/sys/dev/softraid.c
@@ -4583,6 +4583,12 @@ sr_validate_io(struct sr_workunit *wu, daddr_t *blkno, char *func)
                goto bad;
        }

+       if (xs == 0) {
+               printf("%s: %s: illegal xs reference for %s\n",
+                   DEVNAME(sd->sd_sc), func, sd->sd_meta->ssd_devname);
+               goto bad;
+       }
+
        if (xs->datalen == 0) {
                printf("%s: %s: illegal block count for %s\n",
                    DEVNAME(sd->sd_sc), func, sd->sd_meta->ssd_devname);

Reply via email to