diff --git a/sys/kern/subr_diskslice.c b/sys/kern/subr_diskslice.c index 01d42082ac44..a282e9934cee 100644 --- a/sys/kern/subr_diskslice.c +++ b/sys/kern/subr_diskslice.c @@ -43,7 +43,7 @@ * from: wd.c,v 1.55 1994/10/22 01:57:12 phk Exp $ * from: @(#)ufs_disksubr.c 7.16 (Berkeley) 5/4/91 * from: ufs_disksubr.c,v 1.8 1994/06/07 01:21:39 phk Exp $ - * $Id: subr_diskslice.c,v 1.19 1996/01/28 08:15:44 bde Exp $ + * $Id: subr_diskslice.c,v 1.20 1996/03/27 18:50:01 bde Exp $ */ #include @@ -658,12 +658,12 @@ dsopen(dname, dev, mode, sspp, lp, strat, setgeom, bdevsw, cdevsw) if (slice >= BASE_SLICE && sp->ds_bdev == NULL && sp->ds_size != 0) { mynor = minor(dkmodpart(dev, RAW_PART)); sname = dsname(dname, unit, slice, RAW_PART, partname); - sp->ds_bdev = devfs_add_devswf(bdevsw, mynor, DV_BLK, - UID_ROOT, GID_OPERATOR, 0640, - "%s", sname); - sp->ds_cdev = devfs_add_devswf(cdevsw, mynor, DV_CHR, - UID_ROOT, GID_OPERATOR, 0640, - "r%s", sname); + sp->ds_bdev = + devfs_add_devswf(bdevsw, mynor, DV_BLK, UID_ROOT, + GID_OPERATOR, 0640, "%s", sname); + sp->ds_cdev = + devfs_add_devswf(cdevsw, mynor, DV_CHR, UID_ROOT, + GID_OPERATOR, 0640, "r%s", sname); } #endif if (sp->ds_label == NULL) { @@ -939,7 +939,6 @@ set_ds_labeldevs(dname, dev, ssp) dev_t dev; struct diskslices *ssp; { - char devname[64]; struct disklabel *lp; int mynor; int part; @@ -957,24 +956,31 @@ set_ds_labeldevs(dname, dev, ssp) pp = &lp->d_partitions[part]; if (pp->p_size == 0) continue; - sprintf(devname, "r%s%s", - dsname(dname, dkunit(dev), slice, part, partname), - partname); if (part == RAW_PART && sp->ds_bdev != NULL) { sp->ds_bdevs[part] = - dev_link("/", devname + 1, sp->ds_bdev); + dev_linkf(sp->ds_bdev, "%s%s", + dsname(dname, dkunit(dev), slice, + part, partname), + partname); sp->ds_cdevs[part] = - dev_link("/", devname, sp->ds_cdev); + dev_linkf(sp->ds_cdev, "r%s%s", + dsname(dname, dkunit(dev), slice, + part, partname), + partname); } else { mynor = minor(dkmodpart(dev, part)); sp->ds_bdevs[part] = devfs_add_devswf(ssp->dss_bdevsw, mynor, DV_BLK, UID_ROOT, GID_OPERATOR, 0640, - "%s", devname + 1); + "%s", + dsname(dname, dkunit(dev), + slice, part, partname)); sp->ds_cdevs[part] = devfs_add_devswf(ssp->dss_cdevsw, mynor, DV_CHR, UID_ROOT, GID_OPERATOR, 0640, - "%s", devname); + "r%s", + dsname(dname, dkunit(dev), + slice, part, partname)); } } }