diff --git a/sys/dev/raid/vinum/vinumio.c b/sys/dev/raid/vinum/vinumio.c index 14b5c19..5b36ac1 100644 --- a/sys/dev/raid/vinum/vinumio.c +++ b/sys/dev/raid/vinum/vinumio.c @@ -64,25 +64,16 @@ open_drive(struct drive *drive, struct proc *p, int verbose) return EBUSY; dname = drive->devicename; - if (rootdev) { - /* - * Open via filesystem (future) - */ - error = nlookup_init(&nd, drive->devicename, UIO_SYSSPACE, NLC_FOLLOW); - if (error) - return error; - error = vn_open(&nd, NULL, FREAD|FWRITE, 0); - drive->vp = nd.nl_open_vp; - nd.nl_open_vp = NULL; - nlookup_done(&nd); - } else { - /* - * Open via synthesized vnode backed by disk device - */ - error = vn_opendisk(drive->devicename, FREAD|FWRITE, &drive->vp); - if (error) + /* + * Open via filesystem (future) + */ + error = nlookup_init(&nd, drive->devicename, UIO_SYSSPACE, NLC_FOLLOW); + if (error) return error; - } + error = vn_open(&nd, NULL, FREAD|FWRITE, 0); + drive->vp = nd.nl_open_vp; + nd.nl_open_vp = NULL; + nlookup_done(&nd); if (error == 0 && drive->vp == NULL) error = ENODEV;