Lines Matching refs:br
233 struct blockif_req *br;
239 br = be->be_req;
240 assert(br->br_resid >= 0);
242 if (br->br_iovcnt <= 1)
248 if ((n = preadv(bc->bc_fd, br->br_iov, br->br_iovcnt,
249 br->br_offset)) < 0)
252 br->br_resid -= n;
257 while (br->br_resid > 0) {
258 len = MIN(br->br_resid, MAXPHYS);
259 n = pread(bc->bc_fd, buf, len, br->br_offset + off);
267 clen = MIN(len - boff, br->br_iov[i].iov_len -
269 memcpy((uint8_t *)br->br_iov[i].iov_base + voff,
271 if (clen < br->br_iov[i].iov_len - voff)
280 br->br_resid -= len;
289 if ((n = pwritev(bc->bc_fd, br->br_iov, br->br_iovcnt,
290 br->br_offset)) < 0)
293 br->br_resid -= n;
298 while (br->br_resid > 0) {
299 len = MIN(br->br_resid, MAXPHYS);
302 clen = MIN(len - boff, br->br_iov[i].iov_len -
305 (uint8_t *)br->br_iov[i].iov_base + voff,
307 if (clen < br->br_iov[i].iov_len - voff)
316 n = pwrite(bc->bc_fd, buf, len, br->br_offset + off);
322 br->br_resid -= n;
334 arg[0] = br->br_offset;
335 arg[1] = br->br_resid;
339 br->br_resid = 0;
341 range.r_offset = br->br_offset;
342 range.r_len = br->br_resid;
352 br->br_resid = 0;
362 (*br->br_callback)(br, err);