On Sun, Sep 25, 2022 at 12:59:27AM +0000, Klemens Nanni wrote: > On a sparc64 T4-2 I boot OpenBSD from hardware RAID 1E using the > built-in controller: > > mpii0 at pci15 dev 0 function 0 "Symbios Logic SAS2008" rev 0x03: msi > mpii0: Solana On-Board, firmware 9.0.0.0 IR, MPI 2.0 > scsibus1 at mpii0: 834 targets > sd0 at scsibus1 targ 0 lun 0: <LSI, Logical Volume, 3000> > naa.600508e0000000006cd1dcd59022a30a > sd0: 713824MB, 512 bytes/sector, 1461911552 sectors > root on sd0a (efde5b2c6ab7b8ac.a) swap on sd0b dump on sd0b > > But OpenBSD shows it as RAID10, which is misleading: > > # bioctl mpii0 > Volume Status Size Device > mpii0 0 Online 748498714112 sd0 RAID10 > 0 Online 500107861504 0:2.0 noencl <ATA > CT500MX500SSD1> > 1 Online 500107861504 0:1.0 noencl <ATA > CT500MX500SSD1> > 2 Online 500107861504 0:0.0 noencl <ATA > CT500MX500SSD1> > > Turns out the driver reports it like that and adapting the tool is > trivial. > > Document 1E support, report 1E as 0x1E (like softraid(4) 1C being 0x1C) > and print it as such. > > This merely supports printing it; softraid code has nothing to do with > what hardware supports and the create/write path remains unchanged in > driver/softraid/bioctl land. > > Format strings for different RAID levels start identical up to the level > specifics, so hoist the identical part while here to make this clearer > and simplify/shorten it. > > # ./obj/bioctl mpii0 > Volume Status Size Device > mpii0 0 Online 748498714112 sd0 RAID1E > 0 Online 500107861504 0:2.0 noencl <ATA > CT500MX500SSD1> > 1 Online 500107861504 0:1.0 noencl <ATA > CT500MX500SSD1> > 2 Online 500107861504 0:0.0 noencl <ATA > CT500MX500SSD1> > > Feedback? OK? (for after release)
Ping. Index: sbin/bioctl/bioctl.c =================================================================== RCS file: /cvs/src/sbin/bioctl/bioctl.c,v retrieving revision 1.149 diff -u -p -r1.149 bioctl.c --- sbin/bioctl/bioctl.c 26 Aug 2022 09:14:00 -0000 1.149 +++ sbin/bioctl/bioctl.c 5 Oct 2022 00:09:17 -0000 @@ -492,25 +492,24 @@ bio_inq(char *name) else snprintf(size, sizeof size, "%14llu", bv.bv_size); + printf("%11s %-10s %14s %-7s ", + volname, status, size, bv.bv_dev); switch (bv.bv_level) { case 'C': - printf("%11s %-10s %14s %-7s CRYPTO%s%s\n", - volname, status, size, bv.bv_dev, + printf("CRYPTO%s%s\n", percent, seconds); break; case 'c': - printf("%11s %-10s %14s %-7s CONCAT%s%s\n", - volname, status, size, bv.bv_dev, + printf("CONCAT%s%s\n", percent, seconds); break; case 0x1C: - printf("%11s %-10s %14s %-7s RAID%X%s%s %s\n", - volname, status, size, bv.bv_dev, + case 0x1E: + printf("RAID%X%s%s %s\n", bv.bv_level, percent, seconds, cache); break; default: - printf("%11s %-10s %14s %-7s RAID%u%s%s %s\n", - volname, status, size, bv.bv_dev, + printf("RAID%u%s%s %s\n", bv.bv_level, percent, seconds, cache); break; } Index: share/man/man4/mpii.4 =================================================================== RCS file: /cvs/src/share/man/man4/mpii.4,v retrieving revision 1.15 diff -u -p -r1.15 mpii.4 --- share/man/man4/mpii.4 19 Jun 2018 10:43:21 -0000 1.15 +++ share/man/man4/mpii.4 5 Oct 2022 00:09:17 -0000 @@ -59,11 +59,12 @@ Lenovo N2215, ThinkSystem 430 LSI SAS 9200-8e, SAS 9207-8i, SAS 9211-4i, SAS 9211-8i .It Broadcom SAS 9300, HBA 9400 +.It +Oracle SPARC T Series Platforms .El .Pp Some models of these controllers carry an Integrated RAID (IR) firmware -providing support for RAID 0, RAID 1, RAID10 or RAID5 using SAS or SATA -drives. +providing support for RAID levels 0, 1, 1E, 5 or 10 using SAS or SATA drives. All RAID configuration is done through the controllers' BIOSes. .Sh SEE ALSO .Xr bio 4 ,