Document and report mpii(4) RAID 1E as such
authorkn <kn@openbsd.org>
Tue, 18 Oct 2022 07:04:20 +0000 (07:04 +0000)
committerkn <kn@openbsd.org>
Tue, 18 Oct 2022 07:04:20 +0000 (07:04 +0000)
At least the built-in controller on sparc64 T4-2 machines supports 1E from
which OpenBSD boots just fine, but bioctl(8) reports it as RAID 10:

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

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

mpii(4) simply munged 1E into 10.
Report it as 0x1E just like softraid(4) RAID 1C is 0x1C internally:

# ./obj/bioctl mpii0 | grep RAID
    mpii0 0 Online       748498714112 sd0     RAID1E

OK jsing

sbin/bioctl/bioctl.c
share/man/man4/mpii.4
sys/dev/pci/mpii.c

index d8717fa..2928cfb 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bioctl.c,v 1.150 2022/10/18 06:56:42 kn Exp $ */
+/* $OpenBSD: bioctl.c,v 1.151 2022/10/18 07:04:20 kn Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Marco Peereboom
@@ -504,6 +504,7 @@ bio_inq(char *name)
                                    percent, seconds);
                                break;
                        case 0x1C:
+                       case 0x1E:
                                printf("RAID%X%s%s %s\n",
                                    bv.bv_level, percent, seconds, cache);
                                break;
index 766df72..3357f42 100644 (file)
@@ -1,4 +1,4 @@
-.\"    $OpenBSD: mpii.4,v 1.15 2018/06/19 10:43:21 jmatthew Exp $
+.\"    $OpenBSD: mpii.4,v 1.16 2022/10/18 07:04:20 kn Exp $
 .\"
 .\" Copyright (c) 2010 Marco Peereboom <marco@openbsd.org>
 .\" Copyright (c) 2009 David Gwynne <dlg@openbsd.org>
@@ -15,7 +15,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: June 19 2018 $
+.Dd $Mdocdate: October 18 2022 $
 .Dt MPII 4
 .Os
 .Sh NAME
@@ -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 ,
index 974ceb8..2f14f6b 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: mpii.c,v 1.143 2022/04/16 19:19:59 naddy Exp $        */
+/*     $OpenBSD: mpii.c,v 1.144 2022/10/18 07:04:20 kn Exp $   */
 /*
  * Copyright (c) 2010, 2012 Mike Belopuhov
  * Copyright (c) 2009 James Giannoules
@@ -3423,6 +3423,8 @@ mpii_ioctl_vol(struct mpii_softc *sc, struct bioc_vol *bv)
                bv->bv_level = 1;
                break;
        case MPII_CFG_RAID_VOL_0_TYPE_RAID1E:
+               bv->bv_level = 0x1E;
+               break;
        case MPII_CFG_RAID_VOL_0_TYPE_RAID10:
                bv->bv_level = 10;
                break;