|
|
| version 1.15, 2004/05/13 23:49:15 | version 1.16, 2004/05/19 22:52:41 |
|---|---|
| Line 159 struct ccdbuf { | Line 159 struct ccdbuf { |
| #define CCDPF_MIRROR_DONE 1 /* if set, mirror counterpart is done */ | #define CCDPF_MIRROR_DONE 1 /* if set, mirror counterpart is done */ |
| #define CCDLABELDEV(dev) \ | #define CCDLABELDEV(dev) \ |
| (makedev(major((dev)), dkmakeminor(ccdunit((dev)), 0, RAW_PART))) | (make_sub_dev(dev, dkmakeminor(ccdunit((dev)), 0, RAW_PART))) |
| static d_open_t ccdopen; | static d_open_t ccdopen; |
| static d_close_t ccdclose; | static d_close_t ccdclose; |
| Line 316 ccdattach() | Line 316 ccdattach() |
| M_WAITOK | M_ZERO); | M_WAITOK | M_ZERO); |
| numccd = num; | numccd = num; |
| cdevsw_add(&ccd_cdevsw); | cdevsw_add(&ccd_cdevsw, 0, 0); |
| /* XXX: is this necessary? */ | /* XXX: is this necessary? */ |
| for (i = 0; i < numccd; ++i) | for (i = 0; i < numccd; ++i) |
| ccddevs[i].ccd_dk = -1; | ccddevs[i].ccd_dk = -1; |
| Line 1462 ccdioctl(dev_t dev, u_long cmd, caddr_t | Line 1462 ccdioctl(dev_t dev, u_long cmd, caddr_t |
| error = setdisklabel(&cs->sc_label, | error = setdisklabel(&cs->sc_label, |
| (struct disklabel *)data, 0); | (struct disklabel *)data, 0); |
| if (error == 0) { | if (error == 0) { |
| if (cmd == DIOCWDINFO) | if (cmd == DIOCWDINFO) { |
| error = writedisklabel(CCDLABELDEV(dev), | dev_t cdev = CCDLABELDEV(dev); |
| &cs->sc_label); | error = writedisklabel(cdev, &cs->sc_label); |
| } | |
| } | } |
| cs->sc_flags &= ~CCDF_LABELLING; | cs->sc_flags &= ~CCDF_LABELLING; |
| Line 1521 ccdsize(dev_t dev) | Line 1522 ccdsize(dev_t dev) |
| } | } |
| static int | static int |
| ccddump(dev) | ccddump(dev_t dev, u_int count, u_int blkno, u_int secsize) |
| dev_t dev; | |
| { | { |
| /* Not implemented. */ | /* Not implemented. */ |
| return ENXIO; | return ENXIO; |
| } | } |
| Line 1593 ccdgetdisklabel(dev) | Line 1592 ccdgetdisklabel(dev) |
| char *errstring; | char *errstring; |
| struct disklabel *lp = &cs->sc_label; | struct disklabel *lp = &cs->sc_label; |
| struct ccdgeom *ccg = &cs->sc_geom; | struct ccdgeom *ccg = &cs->sc_geom; |
| dev_t cdev; | |
| bzero(lp, sizeof(*lp)); | bzero(lp, sizeof(*lp)); |
| Line 1625 ccdgetdisklabel(dev) | Line 1625 ccdgetdisklabel(dev) |
| /* | /* |
| * Call the generic disklabel extraction routine. | * Call the generic disklabel extraction routine. |
| */ | */ |
| errstring = readdisklabel(CCDLABELDEV(dev), &cs->sc_label); | cdev = CCDLABELDEV(dev); |
| errstring = readdisklabel(cdev, &cs->sc_label); | |
| if (errstring != NULL) | if (errstring != NULL) |
| ccdmakedisklabel(cs); | ccdmakedisklabel(cs); |