} else {
error = bread(vp, lbn, size, NOCRED, &bp);
}
n = min(n, size - bp->b_resid);
if (error != 0) {
if (error) {
brelse(bp);
return (error);
error = uiomove(bp->b_data + on, (int)n, uio);