If target name starts with "naa.", set it as WWNN for CTL port.

MFC after:	1 week
Sponsored by:	iXsystems, Inc.
This commit is contained in:
Alexander Motin 2015-03-04 14:12:38 +00:00
parent e9b7390bb2
commit aadf439b22

View File

@ -935,9 +935,21 @@ kernel_port_add(struct port *port)
req.status); req.status);
return (1); return (1);
} }
} else if (port->p_pport) } else if (port->p_pport) {
port->p_ctl_port = port->p_pport->pp_ctl_port; port->p_ctl_port = port->p_pport->pp_ctl_port;
if (strncmp(targ->t_name, "naa.", 4) == 0 &&
strlen(targ->t_name) == 20) {
bzero(&entry, sizeof(entry));
entry.port_type = CTL_PORT_NONE;
entry.targ_port = port->p_ctl_port;
entry.flags |= CTL_PORT_WWNN_VALID;
entry.wwnn = strtoull(targ->t_name + 4, NULL, 16);
if (ioctl(ctl_fd, CTL_SET_PORT_WWNS, &entry) == -1)
log_warn("CTL_SET_PORT_WWNS ioctl failed");
}
}
/* Explicitly enable mapping to block any access except allowed. */ /* Explicitly enable mapping to block any access except allowed. */
lm.port = port->p_ctl_port; lm.port = port->p_ctl_port;
lm.plun = UINT32_MAX; lm.plun = UINT32_MAX;