pbn
wapbl_write(void *data, size_t len, struct vnode *devvp, daddr_t pbn)
len, pbn, fswritefd));
bwrite(fswritefd, data, pbn, len);
wapbl_read(void *data, size_t len, struct vnode *devvp, daddr_t pbn)
len, pbn, fsreadfd));
bread(fsreadfd, data, pbn, len);
daddr_t lbn, pbn;
pbn = lfs_dino_getdb(fs, &dino, lbn);
if (pbn == 0) {
idesc->id_blkno = pbn;
pbn = lfs_dino_getib(fs, &dino, n-1);
if (pbn) {
idesc->id_blkno = pbn;
daddr_t hwbn, pbn;
pbn = sc->sc_dkdev.dk_label->d_partitions[rdpart(bp->b_dev)].p_offset;
hwbn = RDBTOS(pbn + bp->b_blkno);
pbn = bp->b_blkno;
pbn = RDSTOB(hwbn) - pbn;
'a' + rdpart(bp->b_dev), pbn);
daddr_t hwbn, pbn;
pbn = sc->sc_dk.dk_label->d_partitions[RDPART(bp->b_dev)].p_offset;
hwbn = RDBTOS(pbn + bp->b_blkno);
pbn = bp->b_blkno;
pbn = RDSTOB(hwbn) - pbn;
device_xname(sc->sc_dev), 'a'+RDPART(bp->b_dev), pbn);
wapbl_buffered_write(void *data, size_t len, struct wapbl *wl, daddr_t pbn,
if ((bp->b_resid > 0 && pbn != bp->b_blkno + btodb(bp->b_resid))) {
bp->b_blkno = pbn;
pbn += btodb(resid);
daddr_t pbn;
pbn = wl->wl_logpbn + (off >> wl->wl_log_dev_bshift);
pbn = btodb(pbn << wl->wl_log_dev_bshift);
error = wapbl_buffered_write(data, slen, wl, pbn,
pbn = wl->wl_logpbn + (off >> wl->wl_log_dev_bshift);
pbn = btodb(pbn << wl->wl_log_dev_bshift);
error = wapbl_buffered_write(data, len, wl, pbn,
daddr_t pbn;
pbn = wl->wl_logpbn + (wc->wc_generation % 2);
pbn = btodb(pbn << wc->wc_log_dev_bshift);
error = wapbl_buffered_write(wc, wc->wc_len, wl, pbn,
daddr_t pbn;
pbn = wr->wr_logpbn + (off >> wr->wr_log_dev_bshift);
pbn = btodb(pbn << wr->wr_log_dev_bshift);
error = wapbl_read(data, slen, wr->wr_devvp, pbn);
pbn = wr->wr_logpbn + (off >> wr->wr_log_dev_bshift);
pbn = btodb(pbn << wr->wr_log_dev_bshift);
error = wapbl_read(data, len, wr->wr_devvp, pbn);
daddr_t pbn;
pbn = logpbn;
pbn = btodb(pbn << log_dev_bshift);
error = wapbl_read(scratch, 2<<log_dev_bshift, devvp, pbn);
daddr_t pbn;
pbn = wc->wc_blocks[i].wc_daddr + btodb(j * blen);
pbn = dbtob(wc->wc_blocks[i].wc_daddr) / blen + j;
return pbn;
wapbl_doio(void *data, size_t len, struct vnode *devvp, daddr_t pbn, int flags)
bp->b_blkno = pbn;
len, pbn, devvp->v_rdev, error));
wapbl_write(void *data, size_t len, struct vnode *devvp, daddr_t pbn)
return wapbl_doio(data, len, devvp, pbn, B_WRITE);
wapbl_read(void *data, size_t len, struct vnode *devvp, daddr_t pbn)
return wapbl_doio(data, len, devvp, pbn, B_READ);
void pbn(const char *, const BIGNUM *);