2N/A * The contents of this file are subject to the terms of the 2N/A * Common Development and Distribution License (the "License"). 2N/A * You may not use this file except in compliance with the License. 2N/A * See the License for the specific language governing permissions 2N/A * and limitations under the License. 2N/A * When distributing Covered Code, include this CDDL HEADER in each 2N/A * If applicable, add the following below this CDDL HEADER, with the 2N/A * fields enclosed by brackets "[]" replaced with your own identifying 2N/A * information: Portions Copyright [yyyy] [name of copyright owner] 2N/A * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 2N/A * Use is subject to license terms. 2N/A * Retrieves the statistics for a specified port.phy on an adapter 2N/A /* Validate the arguments */ 2N/A "NULL Phy Statistics buffer of phyIndex: %08lx",
phy);
2N/A "NULL SAS Phy Statistics buffer of phyIndex: %08lx",
phy);
2N/A "Invalid HBA handler %08lx of phyIndex: %08lx",
2N/A /* Check for stale data */ 2N/A "Verify Adapter failed for phyIndex: %08lx",
phy);
2N/A "Invalid port index of phyIndex: %08lx",
phy);
2N/A /* We need to find out the phy identifier. */ 2N/A * for statistics that are not supported, its bits should all be 2N/A /* First, we need the deivce path to locate the devinfo node. */ 2N/A "Unable to take devinfo snapshot on HBA \"%s\" " 2N/A "for phyIndex: %08lx due to %s",
2N/A * Then we could fetch the instance number and driver name of this 2N/A "An instance number has not been assigned to the " 2N/A "device \"%s\" when get phyIndex: %08lx",
path,
phy);
2N/A "No driver bound to this device \"%s\" " 2N/A "when get phyIndex: %08lx",
2N/A * Construct the kstat name here. 2N/A /* retrieve all the statistics from kstat. */ 2N/A "kstat_open failed due to \"%s\" of phyIndex: %08lx",
2N/A "No matching kstat name found for \"%s\" " 2N/A "of phyIndex: %08lx",
2N/A /* Found the phy we're looking for. */ 2N/A "error reading kstat data due to \"%s\" " 2N/A "of phyIndex: %08lx",
2N/A "SecondsSinceLastReset") == 0) {