FMD_ASRU_UNUSABLE
(void) fmd_asru_setflags(alp, FMD_ASRU_UNUSABLE);
(void) fmd_asru_clrflags(alp, FMD_ASRU_UNUSABLE, 0);
(void) fmd_asru_setflags(alp, FMD_ASRU_UNUSABLE);
boolean_t unusable = (alp->al_flags & FMD_ASRU_UNUSABLE) != 0;
if (sflag == FMD_ASRU_UNUSABLE)
int us, st = (alp->al_flags & (FMD_ASRU_FAULTY | FMD_ASRU_UNUSABLE));
return (st | FMD_ASRU_UNUSABLE);
return (st | FMD_ASRU_UNUSABLE);
st |= FMD_ASRU_UNUSABLE;
st &= ~FMD_ASRU_UNUSABLE;
st |= FMD_ASRU_UNUSABLE;
st &= ~(FMD_ASRU_DEGRADED | FMD_ASRU_UNUSABLE);
st &= ~(FMD_ASRU_DEGRADED | FMD_ASRU_UNUSABLE);
st &= ~FMD_ASRU_UNUSABLE;
st = ap->asru_flags & (FMD_ASRU_FAULTY | FMD_ASRU_UNUSABLE);
st |= FMD_ASRU_UNUSABLE;
st &= ~FMD_ASRU_UNUSABLE;
alp->al_flags |= FMD_ASRU_UNUSABLE;
ap->asru_flags |= FMD_ASRU_UNUSABLE;
#define FMD_ASRU_STATE (FMD_ASRU_FAULTY | FMD_ASRU_UNUSABLE)
(void) fmd_asru_setflags(alp, FMD_ASRU_UNUSABLE);
if (state & FMD_ASRU_UNUSABLE)
*usablep |= !(fmd_asru_al_getstate(alp) & FMD_ASRU_UNUSABLE);
*rvalp |= ((state & FMD_ASRU_UNUSABLE) && (state & FMD_ASRU_PRESENT));
else if ((state & FMD_ASRU_UNUSABLE) && (state & FMD_ASRU_FAULTY))
if ((state & FMD_ASRU_PRESENT) && (state & FMD_ASRU_UNUSABLE) &&
(void) fmd_asru_clrflags(alp, FMD_ASRU_UNUSABLE, 0);
rvp->rri_unusable = (state & FMD_ASRU_UNUSABLE) != 0;