Lines Matching refs:devlink

30 	char *devlink;
69 static scfga_ret_t devlink_to_dyncomp(char *devlink,
85 * Rules for converting between a devlink and logical ap_id and vice-versa
142 /* A devlink for the HBA may or may not exist */
149 * No devlink based logical ap_id.
263 * If the dynamic component has a '/', it was derived from a devlink
538 /* Converts a devlink based dynamic component to a path */
555 /* Convert the dynamic component to the corresponding devlink */
575 assert(dynt.devlink != NULL);
578 * Follow devlink to get the physical path
583 if ((s_readlink(dynt.devlink, buf, PATH_MAX) == -1) ||
602 S_FREE(dynt.devlink);
614 char *devlink = NULL;
637 /* Get the corresponding devlink from the physical path */
638 ret = physpath_to_devlink(path, &devlink, l_errnop, match_minor);
640 assert(devlink != NULL);
643 ret = devlink_to_dyncomp(devlink, dyncompp, l_errnop);
644 S_FREE(devlink);
651 * Failed to get devlink based dynamic component.
726 devlink_to_dyncomp(char *devlink, char **dyncompp, int *l_errnop)
737 /* Convert devlink to dynamic component */
738 dynt.devlink = devlink;
766 assert(dyntp->devlink != NULL);
774 /* Check if a disk devlink */
775 if (strncmp(dyntp->devlink, DEV_DSK SLASH, strlen(DEV_DSK SLASH)) &&
776 strncmp(dyntp->devlink, DEV_RDSK SLASH, strlen(DEV_RDSK SLASH))) {
780 cp = dyntp->devlink + strlen(DEV_DIR SLASH);
821 if (dyntp->devlink != NULL) {
845 if ((dyntp->devlink = strdup(buf)) == NULL) {
866 assert(dyntp->devlink != NULL);
874 if (strncmp(dyntp->devlink, DEV_RMT SLASH, strlen(DEV_RMT SLASH))) {
878 cp = dyntp->devlink + strlen(DEV_DIR SLASH);
913 if (dyntp->devlink != NULL) {
933 if ((dyntp->devlink = strdup(buf)) == NULL) {
960 assert(dyntp->devlink != NULL);
971 if (strncmp(dyntp->devlink, DEV_DIR SLASH, len)) {
975 /* Check if this is a top level devlink */
976 if (strchr(dyntp->devlink + len, '/') != NULL) {
978 cp = dyntp->devlink + len;
981 cp = dyntp->devlink;
1006 if (dyntp->devlink != NULL) {
1028 if ((dyntp->devlink = calloc(1, linklen)) == NULL) {
1033 *dyntp->devlink = '\0';
1035 (void) strcpy(dyntp->devlink, DEV_DIR SLASH);
1037 (void) strcat(dyntp->devlink, dyntp->dyncomp);
1039 if (lstat(dyntp->devlink, &sbuf) != -1 && S_ISLNK(sbuf.st_mode)) {
1045 S_FREE(dyntp->devlink);