- while ((i = min(RXBYSEC, u.u_count)) != 0) {
- bp->b_blkno = u.u_offset>>7;
- if (bp->b_blkno >= MAXSEC || (u.u_offset & 0177) != 0) {
- /* block number out of range */
- /* or offset in middle of block */
- u.u_error = ENXIO;
- break;
+ error = 0;
+ while ((i = imin(RXBYSEC, uio->uio_resid)) > 0) {
+ bp->b_blkno = uio->uio_offset>>7;
+ if (bp->b_blkno >= MAXSEC || (uio->uio_offset & 0177) != 0) {
+ error = ENXIO;
+ break;