On Mon, Mar 05, 2018 at 09:49:16PM +0900, Naoki Fukaumi wrote:
> Hi tech@,
>
> This patch adds bio(4) support for mfii(4).
> # with "mfii(4): use MFII_FUNCTION_PASSTHRU_IO for MFI commands"
>
> most parts are taken from mfi(4), plus fix for rebuilding (bioctl -R).
I noticed another problem: spanned logical disks (RAID 10/50/60) don't
show the right RAID level in 'bioctl mfii0' output:
mfii0 1 Online 876978634752 sd1 RAID1 WB
0 Online 146815733760 1:2.0 noencl <HITACHI HUC151414CSS600
K516>
1 Online 146815733760 1:3.0 noencl <HITACHI HUC151414CSS600
K516>
2 Online 146815733760 1:4.0 noencl <HITACHI HUC151414CSS600
K516>
3 Online 146815733760 1:5.0 noencl <HITACHI HUC151414CSS600
K516>
4 Online 146815733760 1:6.0 noencl <HITACHI HUC151414CSS600
K516>
5 Online 146815733760 1:7.0 noencl <HITACHI HUC151414CSS600
K516>
6 Online 146815733760 1:8.0 noencl <HITACHI HUC151414CSS600
K516>
7 Online 146815733760 1:9.0 noencl <HITACHI HUC151414CSS600
K516>
8 Online 146815733760 1:10.0 noencl <HITACHI HUC151414CSS600
K516>
9 Online 146815733760 1:11.0 noencl <HITACHI HUC151414CSS600
K516>
10 Online 146815733760 1:12.0 noencl <HITACHI HUC151414CSS600
K516>
11 Online 146815733760 1:13.0 noencl <HITACHI HUC151414CSS600
K516>
> + /*
> + * The RAID levels are determined per the SNIA DDF spec, this is only
> + * a subset that is valid for the MFI controller.
> + */
> + bv->bv_level = sc->sc_ld_details[i].mld_cfg.mlc_parm.mpa_pri_raid;
> + if (sc->sc_ld_details[i].mld_cfg.mlc_parm.mpa_sec_raid ==
> + MFI_DDF_SRL_SPANNED)
> + bv->bv_level *= 10;
on the SAS2208 I'm testing with, it appears mpa_sec_raid is always 0.
Instead, we can check whether mpa_span_depth is greater than 1 to
determine whether it's spanned.