diff options
| -rw-r--r-- | sys/kern/subr_diskslice.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/kern/subr_diskslice.c b/sys/kern/subr_diskslice.c index fa0e4a4126ac..e865c29c09d9 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.60 1998/12/04 22:54:51 archie Exp $ + * $Id: subr_diskslice.c,v 1.61 1998/12/10 19:57:00 eivind Exp $ */ #include "opt_devfs.h" @@ -585,8 +585,10 @@ dsioctl(dname, dev, cmd, data, flags, sspp, strat, setgeom) return (error); case DIOCWLABEL: +#ifndef __alpha__ if (slice == WHOLE_DISK_SLICE) return (ENODEV); +#endif if (!(flags & FWRITE)) return (EBADF); set_ds_wlabel(ssp, slice, *(int *)data != 0); @@ -802,7 +804,11 @@ dsopen(dname, dev, mode, flags, sspp, lp, strat, setgeom, cdevsw) */ for (slice = 0; slice < ssp->dss_nslices; slice++) { sp = &ssp->dss_slices[slice]; - if (sp->ds_label != NULL) + if (sp->ds_label != NULL +#ifdef __alpha__ + && slice != WHOLE_DISK_SLICE +#endif + ) continue; dev1 = dkmodslice(dkmodpart(dev, RAW_PART), slice); sname = dsname(dname, unit, slice, RAW_PART, partname); |
