tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ataraid(4) and VOP_OPENing the same block device



On Tue, Aug 26, 2008 at 05:24:33AM +0200, Juan Romero Pardines wrote:
[...]
> ataraid0: found 2 RAID volumes
> ld0 at ataraid0 vendtype 5 unit 0: Intel MatrixRAID ATA RAID-0 array < wd3 
> wd4 >
> ld0: 233 GB, 30416 cyl, 255 head, 63 sec, 512 bytes/sect x 488636416 sectors
> ld1 at ataraid0 vendtype 5 unit 1: Intel MatrixRAID ATA RAID-1 array < wd3 
> wd4 >
> ld1: disabled
> 
> But the problem is that I can't use multiple volumes, because this VOP_OPEN
> in ld_ataraid.c returns EBUSY:
> 
>         /*
>          * Configure all the component disks.
>          */
>         for (i = 0; i < aai->aai_ndisks; i++) {
>                 adi = &aai->aai_disks[i];
>                 int bmajor, error;
>                 dev_t dev;
> 
>                 bmajor = devsw_name2blk(device_xname(adi->adi_dev), NULL, 0);
>                 dev = MAKEDISKDEV(bmajor, device_unit(adi->adi_dev), 
> RAW_PART);
>                 error = bdevvp(dev, &vp);
>                 if (error)
>                         break;
>                 error = VOP_OPEN(vp, FREAD|FWRITE, NOCRED);
>                 if (error) {
>                         vput(vp);
>                         /*
>                          * XXX This is bogus.  We should just mark the
>                          * XXX component as FAILED, and write-back new
>                          * XXX config blocks.
>                          */
>                         break;
>                 }
> 
>                 VOP_UNLOCK(vp, 0);
>                 sc->sc_vnodes[i] = vp;
>         }
> 
> The question is, is there any way to open the same VBLK vnode for the same
> device multiple times, to allow Intel MatrixRAID to fully exploit this 
> feature?

I don't think there is any need of opening the devices multiple times.
The ataraid(4) driver should open all the necessary devices for all its
arrays, and then use them.  In your example, ataraid0 "owns" wd3 and
wd4, so why would it need to have them opened multiple times?

-- 
Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost
"See the look on my face from staying too long in one place
[...] every time the morning breaks I know I'm closer to falling"
KT Tunstall, Saving My Face, Drastic Fantastic, 2007.

Attachment: pgp3GFbgMro00.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index