topo_node
{ "topo_node", "", "print contents of a topo node", topo_node, NULL },
typedef struct topo_node tnode_t;
struct topo_node *tn_parent; /* Node parent */
struct topo_node *tt_root; /* root node */
struct topo_node *tw_root; /* Root node of current walk */
struct topo_node *tw_node; /* Current walker node */
static void mptsas_handle_topo_change(mptsas_topo_change_list_t *topo_node,
mptsas_topo_change_list_t *topo_node = NULL;
topo_node = kmem_zalloc(
if (topo_node == NULL) {
topo_node->mpt = mpt;
topo_node->event = MPTSAS_DR_EVENT_RECONFIG_TARGET;
topo_node->un.phymask = ptgt->m_addr.mta_phymask;
topo_node->devhdl = ptgt->m_devhdl;
topo_node->object = (void *)ptgt;
topo_node->flags = MPTSAS_TOPO_FLAG_LUN_ASSOCIATED;
(void *)topo_node,
kmem_free(topo_node,
mptsas_topo_change_list_t *topo_node = NULL;
topo_node = (mptsas_topo_change_list_t *)args;
mpt = topo_node->mpt;
event = topo_node->event;
flags = topo_node->flags;
while (topo_node) {
physport = topo_node->un.physport;
event = topo_node->event;
flags = topo_node->flags;
phymask = topo_node->un.phymask;
phymask = topo_node->un.phymask;
save_node = topo_node;
topo_node = topo_node->next;
mptsas_handle_topo_change(topo_node, parent);
save_node = topo_node;
topo_node = topo_node->next;
mptsas_handle_topo_change(mptsas_topo_change_list_t *topo_node,
mptsas_t *mpt = (void *)topo_node->mpt;
"event 0x%x, flags 0x%x", mpt->m_instance, topo_node->devhdl,
topo_node->event, topo_node->flags));
switch (topo_node->event) {
if (topo_node->flags == MPTSAS_TOPO_FLAG_RAID_ASSOCIATED) {
mptsas_target_eval_devhdl, &topo_node->devhdl);
ptgt = (void *)topo_node->object;
topo_node->devhdl;
topo_node->devhdl);
topo_node->devhdl);
ASSERT(ptgt->m_devhdl == topo_node->devhdl);
flags = topo_node->flags;
(void) mptsas_config_raid(parent, topo_node->devhdl,
topo_node->un.physport, &attached_devhdl);
devhdl = topo_node->devhdl;
if ((topo_node->flags == MPTSAS_TOPO_FLAG_RAID_ASSOCIATED) ||
(topo_node->flags ==
flags = topo_node->flags;
devhdl = topo_node->devhdl;
if (topo_node->event == MPTSAS_TOPO_FLAG_REMOVE_HANDLE) {
devhdl = topo_node->devhdl;
devhdl = topo_node->devhdl;
mptsas_topo_change_list_t *topo_node = NULL;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->event = MPTSAS_DR_EVENT_RECONFIG_SMP;
topo_node->un.physport = physport;
topo_node->devhdl = expd_handle;
topo_node->flags = flags;
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask =
topo_node->event = MPTSAS_DR_EVENT_OFFLINE_SMP;
topo_node->devhdl = expd_handle;
topo_node->flags = flags;
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->event =
topo_node->un.physport = physport;
topo_node->devhdl = dev_handle;
topo_node->flags = flags;
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask = 0;
topo_node->event =
topo_node->devhdl = dev_handle;
topo_node->flags = flags;
topo_node->object = NULL;
topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask =
topo_node->event =
topo_node->devhdl = dev_handle;
topo_node->flags = flags;
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = topo_head;
kmem_free(topo_node,
mptsas_topo_change_list_t *topo_node = NULL;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->event =
topo_node->un.physport = 0xff;
topo_node->devhdl = volhandle;
topo_node->flags =
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask =
topo_node->event =
topo_node->devhdl = volhandle;
topo_node->flags =
topo_node->object = (void *)ptgt;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask =
topo_node->event =
topo_node->devhdl = diskhandle;
topo_node->flags =
topo_node->object = (void *)ptgt;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = kmem_zalloc(
topo_node->mpt = mpt;
topo_node->un.phymask = 0;
topo_node->event =
topo_node->devhdl = diskhandle;
topo_node->flags =
topo_node->object = NULL;
topo_head = topo_tail = topo_node;
topo_tail->next = topo_node;
topo_tail = topo_node;
topo_node = topo_head;
kmem_free(topo_node,