vinum_off_t
vinum_off_t sdoffset; /* offset in subdisk */
vinum_off_t lockbase; /* and lock address */
enum requeststatus checksdstate(struct sd *sd, struct request *rq, vinum_off_t diskaddr, vinum_off_t diskend);
struct buf *parityrebuild(struct plex *, vinum_off_t, int, enum parityop, struct rangelock **, off_t *);
struct rangelock *lockrange(vinum_off_t stripe, struct buf *bp, struct plex *plex);
lockrange(vinum_off_t stripe, struct buf *bp, struct plex *plex)
vinum_off_t * diskaddr,
vinum_off_t diskend)
vinum_off_t stripebase; /* base address of stripe (1st subdisk) */
vinum_off_t sdbase; /* offset in subdisk of stripe base */
vinum_off_t diskstart; /* remember where this transfer starts */
vinum_off_t * diskstart,
vinum_off_t diskend);
vinum_off_t maxsize = vol->size; /* size of the partition (sectors) */
vinum_off_t blkno = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT);
vinum_off_t diskaddr = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT);
vinum_off_t diskstart;
vinum_off_t diskend;
diskstart = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT); /* start offset of transfer */
vinum_off_t * diskaddr,
vinum_off_t diskend)
vinum_off_t plexoffset; /* offset of transfer in plex */
vinum_off_t stripebase; /* base address of stripe (1st subdisk) */
vinum_off_t stripeoffset; /* offset in stripe */
vinum_off_t blockoffset; /* offset in stripe on subdisk */
vinum_off_t diskstart = *diskaddr; /* remember where this transfer starts */
vinum_off_t * diskstart,
vinum_off_t diskend);
vinum_off_t * diskstart,
vinum_off_t diskend);
vinum_off_t startaddr; /* offset of previous part of transfer */
vinum_off_t diskaddr; /* offset of current part of transfer */
vinum_off_t diskend; /* and end offset of transfer */
vinum_off_t diskstart; /* offset of current part of transfer */
vinum_off_t diskend; /* and end offset of transfer */
diskend = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT) + (bp->b_bcount / DEV_BSIZE); /* end offset of transfer */
diskstart = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT); /* start offset of transfer */
vinum_off_t endoffset;
endoffset = (vinum_off_t)(bio->bio_offset >> DEV_BSHIFT) + sbp->b.b_bcount / DEV_BSIZE; /* final sector offset */
vinum_off_t pstripe,
vinum_off_t plexblkno; /* lblkno in plex */
vinum_off_t stripeoffset; /* offset in stripe */
checksdstate(struct sd *sd, struct request *rq, vinum_off_t diskaddr, vinum_off_t diskend)
vinum_off_t stripe; /* address + 1 of the range being locked */