opinfo
opinfo, /* info */
static int opinfo(dev_info_t *dip, ddi_info_cmd_t infocmd, void *arg,
struct scsi_path_opinfo *opinfo, void *ctpriv)
opinfo->opinfo_rev = OPINFO_REV;
(void) strcpy(opinfo->opinfo_path_attr, "primary");
opinfo->opinfo_path_state = SCSI_PATH_ACTIVE;
opinfo->opinfo_pswtch_best = 0; /* N/A */
opinfo->opinfo_pswtch_worst = 0; /* N/A */
opinfo->opinfo_xlf_capable = 0;
opinfo->opinfo_mode = SCSI_NO_FAILOVER;
opinfo->opinfo_preferred = 1;
hds_sym_get_opinfo(struct scsi_device *sd, struct scsi_path_opinfo *opinfo,
opinfo->opinfo_rev = OPINFO_REV;
(void) strcpy(opinfo->opinfo_path_attr, "primary");
opinfo->opinfo_path_state = SCSI_PATH_ACTIVE;
opinfo->opinfo_pswtch_best = 0; /* N/A */
opinfo->opinfo_pswtch_worst = 0; /* N/A */
opinfo->opinfo_xlf_capable = 0;
opinfo->opinfo_mode = SCSI_NO_FAILOVER;
opinfo->opinfo_preferred = PCLASS_PREFERRED;
opinfo->opinfo_preferred = PCLASS_PREFERRED;
opinfo->opinfo_preferred = PCLASS_NONPREFERRED;
struct scsi_path_opinfo *opinfo, void *ctpriv);
tape_path_get_opinfo(struct scsi_device *sd, struct scsi_path_opinfo *opinfo,
opinfo->opinfo_rev = OPINFO_REV;
(void) strcpy(opinfo->opinfo_path_attr, PCLASS_PRIMARY);
opinfo->opinfo_path_state = SCSI_PATH_ACTIVE;
opinfo->opinfo_pswtch_best = 0; /* N/A */
opinfo->opinfo_pswtch_worst = 0; /* N/A */
opinfo->opinfo_xlf_capable = 0;
opinfo->opinfo_mode = SCSI_NO_FAILOVER;
opinfo->opinfo_preferred = 1;
std_path_get_opinfo(struct scsi_device *sd, struct scsi_path_opinfo *opinfo,
opinfo->opinfo_rev = OPINFO_REV;
opinfo->opinfo_path_state = SCSI_PATH_ACTIVE;
opinfo->opinfo_path_state = SCSI_PATH_ACTIVE_NONOPT;
opinfo->opinfo_path_state = SCSI_PATH_INACTIVE;
opinfo->opinfo_path_state = SCSI_PATH_INACTIVE;
(void) strcpy(opinfo->opinfo_path_attr, PCLASS_PRIMARY);
(void) strcpy(opinfo->opinfo_path_attr, PCLASS_SECONDARY);
"class: %s state: %s\n", opinfo->opinfo_path_attr,
opinfo->opinfo_path_state == SCSI_PATH_ACTIVE ?
opinfo->opinfo_xlf_capable = 0;
opinfo->opinfo_pswtch_best = 30;
opinfo->opinfo_pswtch_worst = 3*30;
opinfo->opinfo_preferred = (uint16_t)preferred;
opinfo->opinfo_mode = (uint16_t)mode;
struct scsi_path_opinfo opinfo;
if (fo->sfo_path_get_opinfo(psd, &opinfo,
if (strcmp(pclass, opinfo.opinfo_path_attr) != 0) {
opinfo.opinfo_path_attr);
if ((opinfo.opinfo_path_state == SCSI_PATH_ACTIVE ||
opinfo.opinfo_path_state == SCSI_PATH_ACTIVE_NONOPT)) {
opinfo.opinfo_preferred);
(opinfo.opinfo_path_attr) + 1, KM_SLEEP);
(void) strlcpy(tptr, opinfo.opinfo_path_attr,
(strlen(opinfo.opinfo_path_attr) + 1));
if (strcmp(pclass, opinfo.opinfo_path_attr)
opinfo.opinfo_preferred);
strcmp(opinfo.opinfo_path_attr,
(opinfo.opinfo_path_attr) +
opinfo.opinfo_path_attr,
(opinfo.opinfo_path_attr)
} else if ((opinfo.opinfo_path_state == SCSI_PATH_INACTIVE) &&
opinfo.opinfo_preferred);
opinfo.opinfo_path_attr) == 0) {
struct scsi_path_opinfo opinfo;
if (fo->sfo_path_get_opinfo(psd, &opinfo, vlun->svl_fops_ctpriv) != 0) {
vlun->svl_xlf_capable = opinfo.opinfo_xlf_capable;
opinfo.opinfo_path_attr);
pclass = opinfo.opinfo_path_attr;
if (opinfo.opinfo_path_state == SCSI_PATH_ACTIVE) {
(opinfo.opinfo_path_attr) + 1,
opinfo.opinfo_path_attr,
(strlen(opinfo.opinfo_path_attr)
vlun->svl_fo_support = opinfo.opinfo_mode;
opinfo.opinfo_preferred);
} else if (opinfo.opinfo_path_state == SCSI_PATH_ACTIVE_NONOPT) {
} else if (opinfo.opinfo_path_state == SCSI_PATH_INACTIVE) {
vlun->svl_fo_support = opinfo.opinfo_mode;
opinfo.opinfo_preferred);
vlun->svl_fo_support = opinfo.opinfo_mode;
mdi_pi_set_preferred(pip, opinfo.opinfo_preferred);
opinfo.opinfo_rev, opinfo.opinfo_path_state,
opinfo.opinfo_preferred, opinfo.opinfo_mode));
struct scsi_path_opinfo *opinfo,