svn commit: r255430 - stable/8/usr.sbin/mfiutil

Sean Bruno sbruno at
Mon Sep 9 21:05:02 UTC 2013

Author: sbruno
Date: Mon Sep  9 21:05:01 2013
New Revision: 255430

  MFC r254906 -- add SYSPD (real jbod) support to mfiutil
  Add support to reconfigure a drive as SYSPD (real JBOD in LSI
  Adds command "mfiutil syspd <drive#>" to change a drive to SYSPD.  Drive
  will then be scanned/reported immediately as /dev/mfisyspdX by the host.
  "mfiutil good <drive#>" clears SYSPD mode, remove /dev/mfisyspdX and
  sets disk into UNCONFIGURED mode.
  Tested on Dell H310 SAS/SATA RAID controller.

Directory Properties:
  stable/8/usr.sbin/mfiutil/   (props changed)

Modified: stable/8/usr.sbin/mfiutil/mfi_drive.c
--- stable/8/usr.sbin/mfiutil/mfi_drive.c	Mon Sep  9 21:00:03 2013	(r255429)
+++ stable/8/usr.sbin/mfiutil/mfi_drive.c	Mon Sep  9 21:05:01 2013	(r255430)
@@ -474,6 +474,20 @@ rebuild_drive(int ac, char **av)
 MFI_COMMAND(top, rebuild, rebuild_drive);
 static int
+syspd_drive(int ac, char **av)
+	if (ac != 2) {
+		warnx("syspd: %s", ac > 2 ? "extra arguments" :
+		    "drive required");
+		return (EINVAL);
+	}
+	return (drive_set_state(av[1], MFI_PD_STATE_SYSTEM));
+MFI_COMMAND(top, syspd, syspd_drive);
+static int
 start_rebuild(int ac, char **av)
 	struct mfi_pd_info info;

Modified: stable/8/usr.sbin/mfiutil/mfiutil.8
--- stable/8/usr.sbin/mfiutil/mfiutil.8	Mon Sep  9 21:00:03 2013	(r255429)
+++ stable/8/usr.sbin/mfiutil/mfiutil.8	Mon Sep  9 21:05:01 2013	(r255430)
@@ -88,6 +88,9 @@
 .Cm rebuild Ar drive
 .Op Fl u Ar unit
+.Cm syspd Ar drive
+.Op Fl u Ar unit
 .Cm drive progress Ar drive
 .Op Fl u Ar unit
@@ -352,6 +355,11 @@ Mark a failed
 that is still part of an array as a good drive suitable for a rebuild.
 The firmware should kick off an array rebuild on its own if a failed drive
 is marked as a rebuild drive.
+.It Cm syspd Ar drive
+Present the drive to the host operating system as a disk SYSPD block device in
+the format /dev/mfisyspdX.  Clear this flag with
+.Cm good
+.Ar drive
 .It Cm drive progress Ar drive
 Report the current progress and estimated completion time of drive operations
 such as rebuilds or patrol reads.
@@ -630,6 +638,10 @@ Add the drive in slot 2 in the main chas
 .Dl Nm Cm add s2 mfid0
+Reconfigure a disk as a SYSPD block device with no RAID
+.Dl Nm Cm syspd 0
 Configure the adapter to run periodic patrol reads once a week with the first
 patrol read starting in 5 minutes:

Modified: stable/8/usr.sbin/mfiutil/mfiutil.c
--- stable/8/usr.sbin/mfiutil/mfiutil.c	Mon Sep  9 21:00:03 2013	(r255429)
+++ stable/8/usr.sbin/mfiutil/mfiutil.c	Mon Sep  9 21:05:01 2013	(r255430)
@@ -65,8 +65,9 @@ usage(void)
 	fprintf(stderr, "    show patrol               - display patrol read status\n");
 	fprintf(stderr, "    show progress             - display status of active operations\n");
 	fprintf(stderr, "    fail <drive>              - fail a physical drive\n");
-	fprintf(stderr, "    good <drive>              - mark a bad physical drive as good\n");
+	fprintf(stderr, "    good <drive>              - set a failed/SYSPD drive as UNCONFIGURED\n");
 	fprintf(stderr, "    rebuild <drive>           - mark failed drive ready for rebuild\n");
+	fprintf(stderr, "    syspd <drive>             - set drive into use as SYSPD JBOD\n");
 	fprintf(stderr, "    drive progress <drive>    - display status of active operations\n");
 	fprintf(stderr, "    drive clear <drive> <start|stop> - clear a drive with all 0x00\n");
 	fprintf(stderr, "    start rebuild <drive>\n");
@@ -97,7 +98,7 @@ static int
 version(int ac __unused, char **av __unused)
-	printf("mfiutil version 1.0.14");
+	printf("mfiutil version 1.0.15");
 #ifdef DEBUG
 	printf(" (DEBUG)");

More information about the svn-src-stable-8 mailing list