Lines Matching defs:client
182 const char *mdi_component_prop_client = "client";
185 * MDI client global unique identifier property name
187 const char *mdi_client_guid_prop = "client-guid";
190 * MDI client load balancing property name/value string definitions
526 * Check the vHCI, pHCI and client count. All the pHCIs and clients
1094 * create client device's devinfo node
1113 "i_mdi_devinfo_create: client %s@%s already exists",
1149 * Find a matching devinfo node for given client node name
1190 * Remove a client device node
1239 * Search for the presence of client device dev_info node
1264 * Grab client component lock
1308 * Unlock a client component
1318 * Allocate and initialize a client structure. Caller should
1319 * hold the vhci client lock.
1321 * Handle to a client component
1368 * Add this client component to our client hash queue
1376 * Attach the client device to the client hash table. Caller
1377 * should hold the vhci client lock.
1397 * Attach the client device to the client hash table.
1398 * Caller should hold the vhci client lock.
1440 * Free a client component
1465 * Remove this client from our hash queue
1491 * Find the client structure corresponding to a given guid
1492 * Caller should hold the vhci client lock.
1519 * Compute and update client device state
1521 * A client device can be in any of three possible states:
1543 * Compute client device state
1548 * client state after DR of a pHCI.
1583 "client state failed: ct = %p", (void *)ct));
1658 * associated with a given client device.
1694 * Get current load balancing policy for a given client device
1729 * Set current load balancing policy for a given client device
1758 * framework can keep track of the client state properly.
1784 /* cdip is not a valid client device. Nothing more to do. */
1791 /* A path to the client is being freed */
1814 * We do not allow failovers to progress while client path state
1841 * Set the client state as failover in progress.
1872 * Note: A client device in failover state can not be detached or freed.
1900 * As a result of failover, client status would have been changed.
1901 * Update the client state and wake up anyone waiting on this client
1985 * select a path to access a client device.
1995 * this client device the call shall be failed with MDI_BUSY error
2020 * attach of client devices (to avoid an unnecessary failover
2032 * available to access this client device
2033 * MDI_FAILURE - Invalid client device or state
2089 "client state offline ct = %p", (void *)ct));
2100 "client failover in progress ct = %p",
2107 * Check to see whether the client device is attached.
2120 * Cache in the client list head. If head of the list is NULL
2148 * NOTE: last pathinfo node of an opened client device may
2496 * For a client, return the next available path to any phci
2522 * Walk through client link
2534 * For a phci, return the next available path to any client
2703 * the pHCI or the client node, the result will be the same.
2707 * Find the client device corresponding to 'caddr'
2713 * the client addresses (caddr) are unique per vhci basis.
2723 "client not found for caddr @%s", caddr ? caddr : ""));
2728 * Hold the client lock and look for a mdi_pathinfo node with matching
2762 * path and client device node.
2765 * operational or if the caller fails to attach a client device
2841 /* look for a matching client, create one if not found */
2881 * This is a new path for this client device. Allocate and
3016 * The ndi_devi_enter(Client), is atypical since the client is a leaf.
3102 * Add mdi_pathinfo node to client list
3122 * Free the mdi_pathinfo node and also client device node if this
3172 "!invalid client: pip %s %p",
3264 * Clean up the client device
3372 * Remove a mdi_pathinfo node from client path list.
3463 * Invalid client device, fail the request
3467 "!invalid client: pip %s %p",
3522 * Grab the client lock in reverse order sequence and release the
3563 * who's success would transition a client from DEGRADED to
3564 * FAILED then only proceed if we can offline the client first.
3628 * Mark the client device as stable
3637 * client state Update the client and dev_info node
3684 * Reset client flags to
3730 * transporting I/O requests to client devices.
3919 * client state Update the client and dev_info node
3935 * Reset client flags to
3967 * Change in the mdi_pathinfo node state will impact the client state
4053 * return the node_name of the client.
4183 * Get the client devinfo associated with a mdi_pathinfo node
4186 * Handle to client device dev_info node
4220 * Get the client private information associated with the
4235 * Set the client private information in the mdi_pathinfo node
5011 * Client online notification. Mark client state as online
5047 * Online notification from NDI framework on pHCI/client
5092 /* set client back online */
5117 * corresponding client devices, for which this pHCI provides
5154 * The mdi_pathinfo state is OK. Check the client state.
5177 * client device...
5190 * to one or more client devices.
5337 /* Last path. Mark client dip as retiring */
5391 * The mdi_pathinfo state is OK. Check the client state.
5411 * client device...
5435 * last path to any client, check that constraints
5496 * client device...
5506 * This is the last path to this client.
5508 * Constraint will only be set to 1 if this client can
5511 * need to retire the client (we just retire the last
5512 * path - MPXIO will then fail all I/Os to the client).
5515 * temporarily set constraint = 0 so that the client
5626 * not in failing over state and update client state
5637 * Dont allow offline of a client device
5650 * a client device
5743 "client post_attach called %p", (void *)ct));
5746 "!client post_attach failed: error %d",
5768 "client post_attach: called %p", (void *)ct));
5773 "!client post_resume failed: error %d",
5841 * pHCI is getting suspended. Since mpxio client
5844 * client devices before pHCI can be suspended.
5850 * Suspend all the client devices accessible through this pHCI
5868 * Suspend of one of the client
5886 * Suspend of client devices is complete. Proceed
5892 * Revert back all the suspended client device states
5940 "client pre_detach: called %p",
5947 "client pre_suspend: called %p",
6037 "client post_detach: called %p", (void *)ct));
6068 * create and install per-path (client - pHCI) statistics
6184 * Enable the path(specific client/target/initiator)
6211 * Disable the path (specific client/target/initiator)
6238 * argument) for a particular client (specified in the client_path argument).
6252 * argument) for a particular client (specified in the client_path argument).
6422 * path info's to each client.
6432 * Disable a specific client.
6668 * client can do power management
6669 * 2. Ensure phci powered up as client power managing
6726 /* serialize power level change per client */
6990 /* client has not been updated */
6992 MDI_DEBUG(4, (MDI_NOTE, child, "client failed\n"));
7137 * Power up pHCI for the named client device.
7138 * Note: Before the client is enumerated under vhci by phci,
7247 mdi_client_t *client;
7253 client = DEVI(dip)->devi_mdi_client;
7254 ASSERT(client);
7255 *mdi_class = client->ct_vhci->vh_class;
7354 /* Return 1 if all client paths are device_removed */
7391 * If all paths associated with the client are now DEVICE_REMOVED,
7392 * reflect DEVICE_REMOVED in the client.
7722 * Enqueue the vhcache client (cct) at the tail of the list
7788 * paddrnvl nvlist contains path information for a vhci client.
7814 * caddrmapnvl nvlist contains vhci client address to phci client address
7832 /* the client must contain at least one path */
7845 * The nvlist contains the mappings between the vhci client addresses and
7846 * their corresponding phci client addresses.
7861 * where caddr1, caddr2, ... are vhci client name and addresses in the
7919 * Build paddrnvl for the specified client using the information in the
8148 * Look up vhcache client for the specified client.
8190 * Also add the vhcache client for the client corresponding to this path
8205 /* if vhcache client for this pip doesn't already exist, add it */
8596 * Build a list of phci client paths for the specified vhci client.
8597 * The list includes only those phci client paths which aren't configured yet.
8642 * Free the memory allocated for phci client path list.
8657 * Allocated async client structure and initialize with the specified values.
8675 * Free the memory allocated for the async client structure and their members.
8688 * Sort vhcache pathinfos (cpis) of the specified client.
8708 * every vhcache pathinfo of the specified client. If not adjust the flag
8770 * Configure all specified paths of the client.
8784 * Dequeue elements from vhci async client config list and bus configure
8837 * Arrange for all the phci client paths (pp_head) for the specified client
8890 * Return number of online paths for the specified client.
8911 * Bus configure all paths for the specified vhci client.
8912 * If at least one path for the client is already online, the remaining paths
9274 * ct_addr pointer to client address (i.e. GUID)
9423 mdi_vhcache_client_t *client, *nxt_client;
9428 client = vhcache->vhcache_client_head;
9430 for ( ; client != NULL; client = nxt_client) {
9431 nxt_client = client->cct_next;
9433 path = client->cct_cpi_head;
9434 client->cct_cpi_head = client->cct_cpi_tail = NULL;
9439 enqueue_tail_vhcache_pathinfo(client, path);
9446 if (client->cct_cpi_head != NULL)
9447 enqueue_vhcache_client(vhcache, client);
9450 (mod_hash_key_t)client->cct_name_addr);
9451 free_vhcache_client(client);
9493 * Walker routine to traverse client dev_info nodes
9495 * below the client, including nexus devices, which we dont want.
9496 * So we just traverse the immediate siblings, starting from 1st client.