fcp_lun
if (mdb_vread(&lun, sizeof (struct fcp_lun), wsp->walk_addr) !=
sizeof (struct fcp_lun)) {
wsp->walk_data = mdb_alloc(sizeof (struct fcp_lun), UM_SLEEP);
if (mdb_vread(wsp->walk_data, sizeof (struct fcp_lun),
(uintptr_t)(((struct fcp_lun *)wsp->walk_data)->lun_next);
mdb_free(wsp->walk_data, sizeof (struct fcp_lun));
static struct fcp_lun lun;
pkt24->fcp_lun[2] =
pkt24->fcp_lun[3] =
pkt24->fcp_lun[0] =
pkt24->fcp_lun[1] =
pkt24->fcp_lun[6] =
pkt24->fcp_lun[7] =
pkt24->fcp_lun[4] =
pkt24->fcp_lun[5] =
pkt->fcp_lun[2] = lobyte(fcp_ent_addr->ent_addr_0);
pkt->fcp_lun[3] = hibyte(fcp_ent_addr->ent_addr_0);
pkt->fcp_lun[0] = lobyte(fcp_ent_addr->ent_addr_1);
pkt->fcp_lun[1] = hibyte(fcp_ent_addr->ent_addr_1);
pkt->fcp_lun[6] = lobyte(fcp_ent_addr->ent_addr_2);
pkt->fcp_lun[7] = hibyte(fcp_ent_addr->ent_addr_2);
pkt->fcp_lun[4] = lobyte(fcp_ent_addr->ent_addr_3);
pkt->fcp_lun[5] = hibyte(fcp_ent_addr->ent_addr_3);
pkt->fcp_lun[2] = cdma->cmd.fcp_lun[2] =
pkt->fcp_lun[3] = cdma->cmd.fcp_lun[3] =
pkt->fcp_lun[0] = cdma->cmd.fcp_lun[0] =
pkt->fcp_lun[1] = cdma->cmd.fcp_lun[1] =
pkt->fcp_lun[6] = cdma->cmd.fcp_lun[6] =
pkt->fcp_lun[7] = cdma->cmd.fcp_lun[7] =
pkt->fcp_lun[4] = cdma->cmd.fcp_lun[4] =
pkt->fcp_lun[5] = cdma->cmd.fcp_lun[5] =
pkt->mgmt.fcp_lun[2] = lobyte(fcp_ent_addr->ent_addr_0);
pkt->mgmt.fcp_lun[3] = hibyte(fcp_ent_addr->ent_addr_0);
pkt->mgmt.fcp_lun[0] = lobyte(fcp_ent_addr->ent_addr_1);
pkt->mgmt.fcp_lun[1] = hibyte(fcp_ent_addr->ent_addr_1);
pkt->mgmt.fcp_lun[6] = lobyte(fcp_ent_addr->ent_addr_2);
pkt->mgmt.fcp_lun[7] = hibyte(fcp_ent_addr->ent_addr_2);
pkt->mgmt.fcp_lun[4] = lobyte(fcp_ent_addr->ent_addr_3);
pkt->mgmt.fcp_lun[5] = hibyte(fcp_ent_addr->ent_addr_3);
pkt->cmd24.fcp_lun[2] =
pkt->cmd24.fcp_lun[3] =
pkt->cmd24.fcp_lun[0] =
pkt->cmd24.fcp_lun[1] =
pkt->cmd24.fcp_lun[6] =
pkt->cmd24.fcp_lun[7] =
pkt->cmd24.fcp_lun[4] =
pkt->cmd24.fcp_lun[5] =
pkt->cmd24.fcp_lun[2] =
pkt->cmd24.fcp_lun[3] =
pkt->cmd24.fcp_lun[0] =
pkt->cmd24.fcp_lun[1] =
pkt->cmd24.fcp_lun[6] =
pkt->cmd24.fcp_lun[7] =
pkt->cmd24.fcp_lun[4] =
pkt->cmd24.fcp_lun[5] =
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun = scsi_device_hba_private_get(sd);
struct fcp_lun *plun = ADDR2LUN(ap);
struct fcp_lun *plun = ADDR2LUN(ap);
struct fcp_lun *plun = ADDR2LUN(ap);
struct fcp_lun *plun;
struct fcp_lun *plun = ADDR2LUN(&pkt->pkt_address);
struct fcp_lun *plun = ADDR2LUN(ap);
struct fcp_lun *plun = ADDR2LUN(ap);
struct fcp_lun *plun;
struct fcp_lun *plun = ADDR2LUN(&sd->sd_address);
struct fcp_lun *plun;
struct fcp_lun *plun = elem->lun;
fcp_get_cip(struct fcp_lun *plun, child_info_t *cip, int lcount,
fcp_is_dip_present(struct fcp_lun *plun, dev_info_t *cdip)
fcp_is_child_present(struct fcp_lun *plun, child_info_t *cip)
fcp_create_dip(struct fcp_lun *plun, int link_cnt, int tgt_cnt)
fcp_create_pip(struct fcp_lun *plun, int lcount, int tcount)
fcp_find_existing_dip(struct fcp_lun *plun, dev_info_t *pdip, caddr_t name)
fcp_is_pip_present(struct fcp_lun *plun, mdi_pathinfo_t *pip)
fcp_find_existing_pip(struct fcp_lun *plun, dev_info_t *pdip)
fcp_online_child(struct fcp_lun *plun, child_info_t *cip, int lcount,
fcp_offline_child(struct fcp_lun *plun, child_info_t *cip, int lcount,
fcp_remove_child(struct fcp_lun *plun)
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *rlun, int tgt_cnt)
struct fcp_lun *tlun, *nlun;
struct fcp_lun *plun = ADDR2LUN(&cmd->cmd_pkt->pkt_address);
static struct fcp_lun *
struct fcp_lun *plun;
struct fcp_lun *plun)
struct fcp_lun *
struct fcp_lun *plun;
fcp_pass_to_hp_and_wait(struct fcp_port *pptr, struct fcp_lun *plun,
fcp_pass_to_hp(struct fcp_port *pptr, struct fcp_lun *plun,
struct fcp_lun *plun = NULL;
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *next_lun = plun->lun_next;
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun;
fcp_update_mpxio_path(struct fcp_lun *plun, child_info_t *cip, int what)
fcp_get_lun_path(struct fcp_lun *plun)
fcp_copy_guid_2_lun_block(struct fcp_lun *plun, char *guidp)
struct fcp_lun *plun = NULL;
struct fcp_lun *plun = NULL;
struct fcp_lun *plun = NULL;
fcp_symmetric_device_probe(struct fcp_lun *plun)
struct fcp_lun *plun;
struct fcp_lun *tplun;
struct fcp_lun *plun;
struct fcp_lun *plun = NULL;
struct fcp_lun *plun;
static int fcp_send_scsi(struct fcp_lun *plun, uchar_t opcode,
static struct fcp_lun *fcp_get_lun(struct fcp_tgt *ptgt,
static int fcp_trigger_lun(struct fcp_lun *plun, child_info_t *cip,
static void fcp_offline_lun(struct fcp_lun *plun, int link_cnt, int tgt_cnt,
static void fcp_prepare_offline_lun(struct fcp_lun *plun, int link_cnt,
static void fcp_offline_lun_now(struct fcp_lun *plun, int link_cnt,
struct fcp_lun *plun;
static void fcp_update_offline_flags(struct fcp_lun *plun);
static struct fcp_pkt *fcp_scan_commands(struct fcp_lun *plun);
struct fcp_lun *pseq_lun = NULL;
static struct fcp_lun *fcp_alloc_lun(struct fcp_tgt *ptgt);
static void fcp_dealloc_lun(struct fcp_lun *plun);
static child_info_t *fcp_get_cip(struct fcp_lun *plun, child_info_t *cip,
static int fcp_is_dip_present(struct fcp_lun *plun, dev_info_t *cdip);
static int fcp_is_child_present(struct fcp_lun *plun, child_info_t *cip);
static dev_info_t *fcp_create_dip(struct fcp_lun *plun, int link_cnt,
static dev_info_t *fcp_find_existing_dip(struct fcp_lun *plun,
static int fcp_online_child(struct fcp_lun *plun, child_info_t *cip,
static int fcp_offline_child(struct fcp_lun *plun, child_info_t *cip,
static void fcp_remove_child(struct fcp_lun *plun);
struct fcp_lun *plun;
struct fcp_lun *rlun, int tgt_cnt);
static struct fcp_lun *fcp_lookup_lun(struct fcp_port *pptr,
fcp_update_lun_state(struct fcp_lun *plun, int flag, uint32_t state)
struct fcp_lun *plun);
struct fcp_lun *fcp_get_lun_from_cip(struct fcp_port *pptr,
struct fcp_lun *plun, child_info_t *cip, int what, int link_cnt,
struct fcp_lun *plun, child_info_t *cip, int what, int link_cnt,
static char *fcp_get_lun_path(struct fcp_lun *plun);
static char *fcp_get_lun_path(struct fcp_lun *plun);
static mdi_pathinfo_t *fcp_create_pip(struct fcp_lun *plun, int lcount,
static mdi_pathinfo_t *fcp_find_existing_pip(struct fcp_lun *plun,
static int fcp_is_pip_present(struct fcp_lun *plun, mdi_pathinfo_t *pip);
static int fcp_copy_guid_2_lun_block(struct fcp_lun *plun, char *guidp);
static int fcp_update_mpxio_path(struct fcp_lun *plun, child_info_t *cip,
static int fcp_symmetric_device_probe(struct fcp_lun *plun);
struct fcp_lun *plun;
fcp_send_scsi(struct fcp_lun *plun, uchar_t opcode, int alloc_len,
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun;
struct fcp_lun *plun;
static struct fcp_lun *
struct fcp_lun *plun;
struct fcp_lun *plun;
fcp_trigger_lun(struct fcp_lun *plun, child_info_t *cip, int old_mpxio,
struct fcp_lun *plun;
fcp_offline_lun(struct fcp_lun *plun, int link_cnt, int tgt_cnt,
fcp_prepare_offline_lun(struct fcp_lun *plun, int link_cnt, int tgt_cnt)
fcp_offline_lun_now(struct fcp_lun *plun, int link_cnt, int tgt_cnt,
fcp_update_offline_flags(struct fcp_lun *plun)
fcp_scan_commands(struct fcp_lun *plun)
struct fcp_lun *tlun =
struct fcp_lun *plun;
static struct fcp_lun *
struct fcp_lun *plun;
plun = kmem_zalloc(sizeof (struct fcp_lun), KM_NOSLEEP);
fcp_dealloc_lun(struct fcp_lun *plun)
uint8_t fcp_lun[8]; /* SCSI LUN ID. */
uint8_t fcp_lun[8]; /* SCSI LUN ID. */
uint8_t fcp_lun[8]; /* SCSI LUN ID. */
uint8_t fcp_lun[8]; /* SCSI LUN ID. */
uint8_t fcp_lun[8]; /* SCSI LUN ID. */
struct fcp_lun *lun_next;
struct fcp_lun *lun;
struct fcp_lun *lun;
struct fcp_lun *plun;
#define ADDR2LUN(ap) ((struct fcp_lun *) \
fcp_tgt::tgt_statec_cause fcp_lun::lun_next fcp_lun::lun_state))
_NOTE(LOCK_ORDER(fcp_tgt::tgt_mutex fcp_lun::lun_mutex))
_NOTE(MUTEX_PROTECTS_DATA(fcp_lun::lun_mutex,
fcp_lun::lun_pkt_head fcp_lun::lun_pkt_tail
fcp_lun::lun_cip fcp_lun::lun_mpxio))
fcp_tgt::tgt_port fcp_lun::lun_num fcp_lun::lun_tgt
fcp_lun::lun_type
fcp_lun::lun_guid_size fcp_lun::lun_guid
struct fcp_lun *ipkt_lun;
struct fcp_lun *tgt_lun;