|
|
| version 1.10, 2004/05/13 23:49:19 | version 1.11, 2004/05/19 22:52:48 |
|---|---|
| Line 54 extern struct mc malloced[]; | Line 54 extern struct mc malloced[]; |
| #endif | #endif |
| #include "request.h" | #include "request.h" |
| STATIC struct cdevsw vinum_cdevsw = | struct cdevsw vinum_cdevsw = |
| { | { |
| /* name */ "vinum", | /* name */ "vinum", |
| /* cmaj */ VINUM_CDEV_MAJOR, | /* cmaj */ VINUM_CDEV_MAJOR, |
| Line 96 vinumattach(void *dummy) | Line 96 vinumattach(void *dummy) |
| daemonq = NULL; /* initialize daemon's work queue */ | daemonq = NULL; /* initialize daemon's work queue */ |
| dqend = NULL; | dqend = NULL; |
| cdevsw_add(&vinum_cdevsw); /* add the cdevsw entry */ | cdevsw_add(&vinum_cdevsw, 0, 0); /* add the cdevsw entry */ |
| /* allocate space: drives... */ | /* allocate space: drives... */ |
| DRIVE = (struct drive *) Malloc(sizeof(struct drive) * INITIAL_DRIVES); | DRIVE = (struct drive *) Malloc(sizeof(struct drive) * INITIAL_DRIVES); |
| Line 153 vinumattach(void *dummy) | Line 153 vinumattach(void *dummy) |
| for (i = 0; i < vinum_conf.volumes_used; i++) { | for (i = 0; i < vinum_conf.volumes_used; i++) { |
| vol = &vinum_conf.volume[i]; | vol = &vinum_conf.volume[i]; |
| if ((vol->state == volume_up) | if ((vol->state == volume_up) |
| && (strcmp (vol->name, cp) == 0) ) { | && (strcmp (vol->name, cp) == 0) |
| rootdev = makedev(VINUM_CDEV_MAJOR, i); | ) { |
| rootdev = make_dev(&vinum_cdevsw, i, UID_ROOT, GID_OPERATOR, | |
| 0640, "vinum"); | |
| log(LOG_INFO, "vinum: using volume %s for root device\n", cp); | log(LOG_INFO, "vinum: using volume %s for root device\n", cp); |
| break; | break; |
| } | } |
| Line 276 vinum_modevent(module_t mod, modeventtyp | Line 278 vinum_modevent(module_t mod, modeventtyp |
| } | } |
| } | } |
| #endif | #endif |
| cdevsw_remove(&vinum_cdevsw); | cdevsw_remove(&vinum_cdevsw, 0, 0); |
| log(LOG_INFO, "vinum: unloaded\n"); /* tell the world */ | log(LOG_INFO, "vinum: unloaded\n"); /* tell the world */ |
| return 0; | return 0; |
| default: | default: |
| Line 496 vinumsize(dev_t dev) | Line 498 vinumsize(dev_t dev) |
| } | } |
| int | int |
| vinumdump(dev_t dev) | vinumdump(dev_t dev, u_int count, u_int blkno, u_int secsize) |
| { | { |
| /* Not implemented. */ | /* Not implemented. */ |
| return ENXIO; | return ENXIO; |