Lines Matching refs:dnp

1047 	mddrivename_t	*dnp
1050 (void) memset(dnp, 0, sizeof (*dnp));
1051 dnp->side_names_key = MD_KEYBAD;
1059 mddrivename_t *dnp
1064 for (p = dnp->side_names, n = NULL; (p != NULL); p = n) {
1072 dnp->side_names = NULL;
1080 mddrivename_t *dnp
1085 if (dnp->cname != NULL)
1086 Free(dnp->cname);
1087 if (dnp->rname != NULL)
1088 Free(dnp->rname);
1089 metafreevtoc(&dnp->vtoc);
1090 for (slice = 0; (slice < dnp->parts.parts_len); ++slice)
1091 metafreename(&dnp->parts.parts_val[slice]);
1092 if (dnp->parts.parts_val != NULL)
1093 Free(dnp->parts.parts_val);
1094 metaflushsidenames(dnp);
1095 if (dnp->miscname != NULL)
1096 Free(dnp->miscname);
1097 meta_free_unit(dnp);
1098 metainitdrivename(dnp);
1227 mddrivename_t *dnp
1240 dnlp->drivenamep = dnp;
1241 return (dnp);
1247 * dnp - name node to be appended to list
1259 mddrivename_t *dnp
1262 (void) metadrivenamelist_append(tailpp, dnp);
1827 mddrivename_t *dnp,
1843 dnp->type = MDT_META;
1852 name.drivenamep = dnp;
1854 dnp->type = MDT_COMP;
1868 dnp->type = MDT_ACCES;
1870 dnp->errnum =
1873 dnp->errnum = ENOENT;
1884 dnp->type = MDT_UNKNOWN;
1886 dnp->type = MDT_ACCES;
1889 dnp->errnum = ep->info.md_error_info_t_u.sys_error.errnum;
1891 dnp->errnum = ENOENT;
2110 mddrivename_t *dnp,
2123 assert(partno < dnp->parts.parts_len);
2126 np = &dnp->parts.parts_val[partno];
2159 if (dnp->type == MDT_UNKNOWN) {
2162 } else if (dnp->type == MDT_COMP && mdissyserror(ep, ENOENT)) {
2163 dnp->type = MDT_UNKNOWN;
2165 dnp->errnum =
2168 dnp->errnum = ENOENT;
2215 mddrivename_t *dnp;
2219 if ((dnp = (*np)->drivenamep) != NULL) {
2220 if (dnp->cname != NULL)
2221 Free(dnp->cname);
2222 if (dnp->rname != NULL)
2223 Free(dnp->rname);
2224 if (dnp->miscname != NULL)
2225 Free(dnp->miscname);
2226 meta_free_unit(dnp);
2227 Free(dnp);
2370 mddrivename_t *dnp;
2385 dnp = np->drivenamep = Zalloc(sizeof (mddrivename_t));
2386 metainitdrivename(dnp);
2394 dnp->type = MDT_FAST_META;
2399 dnp->type = MDT_FAST_COMP;
2435 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2436 dnp->cname = Strdup(np->cname);
2439 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2440 dnp->rname = Strdup(np->rname);
2465 mddrivename_t *dnp;
2492 dnp = (*tail)->drivenamep;
2495 if ((dnp->rname != NULL) && strcmp(dnp->rname, dname) == 0) {
2504 return (metaslicename(dnp, partno, ep));
2521 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2523 metainitdrivename(dnp);
2526 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2539 dnp->parts.parts_len = nparts;
2540 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2541 dnp->parts.parts_len);
2543 np = &dnp->parts.parts_val[slice];
2545 np->drivenamep = dnp;
2549 if ((np = setup_slice(*spp, uname_type, dnp, uname, rname,
2554 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2555 dnp->cname = Strdup(np->cname);
2556 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2557 dnp->rname = Strdup(np->rname);
2572 metafreedrivename(dnp);
2573 Free(dnp);
2609 * Get the dnp using the device id.
2611 * We have the potential to have more than 1 dnp with the same disk name but
2615 * dnp belongs with this disk is by searching by device id. We have the
2619 * system and no disk with the same name has a dnp on the list. And 3) The
2628 * drivename structure and the dnp->devid is filled in not from getparts
2636 * in the system. getparts will fill in the dnp->devid with the value
2653 mddrivename_t *dnp;
2665 dnp = (*tail)->drivenamep;
2666 if (dnp->type != MDT_COMP)
2668 ret = devid_str_decode(dnp->devid, &dnp_devidp, NULL);
2677 return (dnp);
2705 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2706 metainitdrivename(dnp);
2714 * dnp->devid with the correct one after getparts returns.
2716 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2719 dnp->devid = devid_str_encode(devidp, NULL);
2731 dnp->parts.parts_len = nparts;
2732 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2733 dnp->parts.parts_len);
2736 np = &dnp->parts.parts_val[slice];
2738 np->drivenamep = dnp;
2742 if ((np = setup_slice(sp, uname_type, dnp, nm, rname,
2747 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2748 dnp->cname = Strdup(np->cname);
2749 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2750 dnp->rname = Strdup(np->rname);
2755 return (dnp);
2764 metafreedrivename(dnp);
2765 Free(dnp);
2787 mddrivename_t *dnp;
2796 dnp = (*tail)->drivenamep;
2797 if (dnp->type != MDT_COMP)
2800 /* decode the dnp devid */
2801 ret = devid_str_decode(dnp->devid, &dnp_devidp, NULL);
2818 return (dnp);
2834 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2836 metainitdrivename(dnp);
2839 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2852 dnp->parts.parts_len = nparts;
2853 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2854 dnp->parts.parts_len);
2856 np = &dnp->parts.parts_val[slice];
2858 np->drivenamep = dnp;
2862 if ((np = setup_slice(*spp, uname_type, dnp, uname, rname,
2867 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2868 dnp->cname = Strdup(np->cname);
2869 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2870 dnp->rname = Strdup(np->rname);
2876 return (dnp);
2885 metafreedrivename(dnp);
2886 Free(dnp);
2905 mddrivename_t *dnp;
2920 dnp = (*tail)->drivenamep;
2921 if ((dnp->cname != NULL &&
2922 (strcmp(dnp->cname, dname) == 0)) ||
2923 (dnp->rname != NULL &&
2924 (strcmp(dnp->rname, dname) == 0))) {
2926 return (dnp);
2964 * INPUT: dnp - the drivename structure
2978 mddrivename_t *dnp,
2988 assert(dnp->type != MDT_FAST_COMP && dnp->type != MDT_FAST_META);
2990 if (sliceno >= dnp->parts.parts_len) {
2991 (void) mderror(ep, MDE_NOSLICE, dnp->cname);
2995 np = &dnp->parts.parts_val[sliceno];
3002 if ((namep = meta_name_getname(&sp, dnp->cname,
3006 np = setup_slice(sp, uname_type, dnp, NULL, NULL, dnp->rname,
3016 * INPUT: dnp - the drivename structure
3029 mddrivename_t *dnp,
3034 return (metaslicename_type(dnp, sliceno, LOGICAL_DEVICE, ep));
3140 mddrivename_t *dnp = np->drivenamep;
3142 assert(dnp->type != MDT_FAST_COMP && dnp->type != MDT_FAST_META);
3144 if ((! metaismeta(np)) && (dnp->type != MDT_COMP)) {
3145 switch (dnp->type) {
3148 return (mdsyserror(ep, dnp->errnum, np->bname));
3583 mddrivename_t *dnp = dnlp->drivenamep;
3586 for (i = 0; (i < dnp->parts.parts_len); ++i) {
3587 mdname_t *np = &dnp->parts.parts_val[i];