Lines Matching refs:dnp
1103 mddrivename_t *dnp
1106 (void) memset(dnp, 0, sizeof (*dnp));
1107 dnp->side_names_key = MD_KEYBAD;
1115 mddrivename_t *dnp
1120 for (p = dnp->side_names, n = NULL; (p != NULL); p = n) {
1128 dnp->side_names = NULL;
1136 mddrivename_t *dnp
1141 if (dnp->cname != NULL)
1142 Free(dnp->cname);
1143 if (dnp->rname != NULL)
1144 Free(dnp->rname);
1145 metafreevtoc(&dnp->vtoc);
1146 for (slice = 0; (slice < dnp->parts.parts_len); ++slice)
1147 metafreename(&dnp->parts.parts_val[slice]);
1148 if (dnp->parts.parts_val != NULL)
1149 Free(dnp->parts.parts_val);
1150 metaflushsidenames(dnp);
1151 if (dnp->miscname != NULL)
1152 Free(dnp->miscname);
1153 meta_free_unit(dnp);
1154 metainitdrivename(dnp);
1283 mddrivename_t *dnp
1296 dnlp->drivenamep = dnp;
1297 return (dnp);
1303 * dnp - name node to be appended to list
1315 mddrivename_t *dnp
1318 (void) metadrivenamelist_append(tailpp, dnp);
1883 mddrivename_t *dnp,
1899 dnp->type = MDT_META;
1908 name.drivenamep = dnp;
1910 dnp->type = MDT_COMP;
1924 dnp->type = MDT_ACCES;
1926 dnp->errnum =
1929 dnp->errnum = ENOENT;
1940 dnp->type = MDT_UNKNOWN;
1942 dnp->type = MDT_ACCES;
1945 dnp->errnum = ep->info.md_error_info_t_u.sys_error.errnum;
1947 dnp->errnum = ENOENT;
2166 mddrivename_t *dnp,
2179 assert(partno < dnp->parts.parts_len);
2182 np = &dnp->parts.parts_val[partno];
2215 if (dnp->type == MDT_UNKNOWN) {
2218 } else if (dnp->type == MDT_COMP && mdissyserror(ep, ENOENT)) {
2219 dnp->type = MDT_UNKNOWN;
2221 dnp->errnum =
2224 dnp->errnum = ENOENT;
2271 mddrivename_t *dnp;
2275 if ((dnp = (*np)->drivenamep) != NULL) {
2276 if (dnp->cname != NULL)
2277 Free(dnp->cname);
2278 if (dnp->rname != NULL)
2279 Free(dnp->rname);
2280 if (dnp->miscname != NULL)
2281 Free(dnp->miscname);
2282 meta_free_unit(dnp);
2283 Free(dnp);
2426 mddrivename_t *dnp;
2441 dnp = np->drivenamep = Zalloc(sizeof (mddrivename_t));
2442 metainitdrivename(dnp);
2450 dnp->type = MDT_FAST_META;
2455 dnp->type = MDT_FAST_COMP;
2491 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2492 dnp->cname = Strdup(np->cname);
2495 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2496 dnp->rname = Strdup(np->rname);
2521 mddrivename_t *dnp;
2548 dnp = (*tail)->drivenamep;
2551 if ((dnp->rname != NULL) && strcmp(dnp->rname, dname) == 0) {
2560 return (metaslicename(dnp, partno, ep));
2577 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2579 metainitdrivename(dnp);
2582 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2595 dnp->parts.parts_len = nparts;
2596 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2597 dnp->parts.parts_len);
2599 np = &dnp->parts.parts_val[slice];
2601 np->drivenamep = dnp;
2605 if ((np = setup_slice(*spp, uname_type, dnp, uname, rname,
2610 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2611 dnp->cname = Strdup(np->cname);
2612 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2613 dnp->rname = Strdup(np->rname);
2628 metafreedrivename(dnp);
2629 Free(dnp);
2665 * Get the dnp using the device id.
2667 * We have the potential to have more than 1 dnp with the same disk name but
2671 * dnp belongs with this disk is by searching by device id. We have the
2675 * system and no disk with the same name has a dnp on the list. And 3) The
2684 * drivename structure and the dnp->devid is filled in not from getparts
2692 * in the system. getparts will fill in the dnp->devid with the value
2709 mddrivename_t *dnp;
2721 dnp = (*tail)->drivenamep;
2722 if (dnp->type != MDT_COMP)
2726 if (dnp->devid == NULL)
2729 ret = devid_str_decode(dnp->devid, &dnp_devidp, NULL);
2738 return (dnp);
2766 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2767 metainitdrivename(dnp);
2775 * dnp->devid with the correct one after getparts returns.
2777 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2780 dnp->devid = devid_str_encode(devidp, NULL);
2792 dnp->parts.parts_len = nparts;
2793 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2794 dnp->parts.parts_len);
2797 np = &dnp->parts.parts_val[slice];
2799 np->drivenamep = dnp;
2803 if ((np = setup_slice(sp, uname_type, dnp, nm, rname,
2808 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2809 dnp->cname = Strdup(np->cname);
2810 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2811 dnp->rname = Strdup(np->rname);
2816 return (dnp);
2825 metafreedrivename(dnp);
2826 Free(dnp);
2848 mddrivename_t *dnp;
2857 dnp = (*tail)->drivenamep;
2858 if (dnp->type != MDT_COMP)
2861 /* decode the dnp devid */
2862 ret = devid_str_decode(dnp->devid, &dnp_devidp, NULL);
2879 return (dnp);
2895 dnp = (*tail)->drivenamep = Zalloc(sizeof (*dnp));
2897 metainitdrivename(dnp);
2900 if (getparts(dnp, rname, dname, uname_type, &nparts, &partno, ep) != 0)
2913 dnp->parts.parts_len = nparts;
2914 dnp->parts.parts_val = Zalloc((sizeof (*dnp->parts.parts_val)) *
2915 dnp->parts.parts_len);
2917 np = &dnp->parts.parts_val[slice];
2919 np->drivenamep = dnp;
2923 if ((np = setup_slice(*spp, uname_type, dnp, uname, rname,
2928 if ((dnp->cname = metadiskname(np->cname)) == NULL)
2929 dnp->cname = Strdup(np->cname);
2930 if ((dnp->rname = metadiskname(np->rname)) == NULL)
2931 dnp->rname = Strdup(np->rname);
2937 return (dnp);
2946 metafreedrivename(dnp);
2947 Free(dnp);
2966 mddrivename_t *dnp;
2981 dnp = (*tail)->drivenamep;
2982 if ((dnp->cname != NULL &&
2983 (strcmp(dnp->cname, dname) == 0)) ||
2984 (dnp->rname != NULL &&
2985 (strcmp(dnp->rname, dname) == 0))) {
2987 return (dnp);
3025 * INPUT: dnp - the drivename structure
3039 mddrivename_t *dnp,
3049 assert(dnp->type != MDT_FAST_COMP && dnp->type != MDT_FAST_META);
3051 if (sliceno >= dnp->parts.parts_len) {
3052 (void) mderror(ep, MDE_NOSLICE, dnp->cname);
3056 np = &dnp->parts.parts_val[sliceno];
3063 if ((namep = meta_name_getname(&sp, dnp->cname,
3067 np = setup_slice(sp, uname_type, dnp, NULL, NULL, dnp->rname,
3077 * INPUT: dnp - the drivename structure
3090 mddrivename_t *dnp,
3095 return (metaslicename_type(dnp, sliceno, LOGICAL_DEVICE, ep));
3201 mddrivename_t *dnp = np->drivenamep;
3203 assert(dnp->type != MDT_FAST_COMP && dnp->type != MDT_FAST_META);
3205 if ((! metaismeta(np)) && (dnp->type != MDT_COMP)) {
3206 switch (dnp->type) {
3209 return (mdsyserror(ep, dnp->errnum, np->bname));
3644 mddrivename_t *dnp = dnlp->drivenamep;
3647 for (i = 0; (i < dnp->parts.parts_len); ++i) {
3648 mdname_t *np = &dnp->parts.parts_val[i];