Remove the magic mfi_array is 288 bytes and just use the
sizeof the array since it is not 288 bytes.
Change reporting of a "SYSTEM" disk to "JBOD" to match
LSI MegaCli and firmware reporting.
This means that fiutil command to "create jbod" is now a
little confusing since a RAID per drive is not really what
LSI defines JBOD to be. This should be fixed in the future
and support added to really create LSI JBOD and enable that
feature on cards that support it.
make the mfi_array 288 bytes, remove this magic number and the
calculations that go with it. Use the MFI_MAX_ROW_SIZE and
sizeof(struct mfi_array) in place of the prior calculations.
Change reporting a disk as "SYSTEM" when it is a "JBOD" reported
by the firmware and MegaCli. A JBOD appears as /dev/mfisyspd<n>.
This also means the mfiutil command to "create jbod" is now a
little confusing since a RAID per drive is not really what LSI
defines JBOD to be. In the future mfiutil should have an option
to create real JBOD's and enable that option in RAID controllers
that support it. In testing, it appears the RAID cache is not
used with JBOD but is with the RAID per disk. When this is
implemented more testing should be done to determine the pro's and
con's of JBOD versus RAID per disk.
Reviewed by: jhb
items. While parsing the arrays input, it's possible that we reach the
error path before initializing the 'arrays' pointer, which in turn leads
to a NULL deference.
Submitted by: Garrett Cooper
MFC after: 1 week
did not free memory (1) or close the file descriptor (2) in error cases.
Reported by: Mark Johnston (1)
Reported by: attilio (2)
Reviewed by: jhb
Sponsored by: Sandvine Incorporated
MFC after: 1 week
controllers. Controller, array, and drive status can be checked, basic
attributes can be changed, and arrays and spares can be created and deleted.
Controller firmware can also be flashed.
This does not replace MegaCLI, found in ports, as that is officially sanctioned
and supported by LSI and includes vastly more functionality. However, mfiutil
is open source and guaranteed to provide basic functionality, which can be
especially useful if you have a problem and can't get MegaCLI to work.
Approved by: re
Obtained from: Yahoo! Inc.