MFhead_mfi r233621

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.
This commit is contained in:
Doug Ambrisko 2012-03-30 23:39:39 +00:00
commit b53011f9cf
2 changed files with 4 additions and 5 deletions

View File

@ -211,9 +211,8 @@ clear_config(int ac, char **av)
}
MFI_COMMAND(top, clear, clear_config);
#define MFI_ARRAY_SIZE 288
#define MAX_DRIVES_PER_ARRAY \
((MFI_ARRAY_SIZE - sizeof(struct mfi_array)) / 8)
#define MAX_DRIVES_PER_ARRAY MFI_MAX_ROW_SIZE
#define MFI_ARRAY_SIZE sizeof(struct mfi_array)
#define RT_RAID0 0
#define RT_RAID1 1
@ -305,7 +304,7 @@ parse_array(int fd, int raid_type, char *array_str, struct array_info *info)
/* Validate the number of drives for this array. */
if (count >= MAX_DRIVES_PER_ARRAY) {
warnx("Too many drives for a single array: max is %zu",
warnx("Too many drives for a single array: max is %d",
MAX_DRIVES_PER_ARRAY);
return (EINVAL);
}

View File

@ -149,7 +149,7 @@ mfi_pdstate(enum mfi_pd_state state)
case MFI_PD_STATE_COPYBACK:
return ("COPYBACK");
case MFI_PD_STATE_SYSTEM:
return ("SYSTEM");
return ("JBOD");
default:
sprintf(buf, "PSTATE 0x%04x", state);
return (buf);