Lines Matching refs:br
216 struct blockif_req *br;
221 br = be->be_req;
222 if (br->br_iovcnt <= 1)
228 if ((len = preadv(bc->bc_fd, br->br_iov, br->br_iovcnt,
229 br->br_offset)) < 0)
232 br->br_resid -= len;
237 while (br->br_resid > 0) {
238 len = MIN(br->br_resid, MAXPHYS);
239 if (pread(bc->bc_fd, buf, len, br->br_offset +
246 clen = MIN(len - boff, br->br_iov[i].iov_len -
248 memcpy(br->br_iov[i].iov_base + voff,
250 if (clen < br->br_iov[i].iov_len - voff)
259 br->br_resid -= len;
268 if ((len = pwritev(bc->bc_fd, br->br_iov, br->br_iovcnt,
269 br->br_offset)) < 0)
272 br->br_resid -= len;
277 while (br->br_resid > 0) {
278 len = MIN(br->br_resid, MAXPHYS);
281 clen = MIN(len - boff, br->br_iov[i].iov_len -
284 br->br_iov[i].iov_base + voff, clen);
285 if (clen < br->br_iov[i].iov_len - voff)
293 if (pwrite(bc->bc_fd, buf, len, br->br_offset +
299 br->br_resid -= len;
315 arg[0] = br->br_offset;
316 arg[1] = br->br_resid;
320 br->br_resid = 0;
331 (*br->br_callback)(br, err);