Lines Matching defs:io_req

481 			struct io_thread_req *io_req = (*irq_req_buffer)[count];
483 if ((io_req->error == BLK_STS_NOTSUPP) && (req_op(io_req->req) == REQ_OP_DISCARD)) {
484 blk_queue_max_discard_sectors(io_req->req->q, 0);
485 blk_queue_max_write_zeroes_sectors(io_req->req->q, 0);
487 blk_mq_end_request(io_req->req, io_req->error);
488 kfree(io_req);
1250 static void ubd_map_req(struct ubd *dev, struct io_thread_req *io_req,
1256 unsigned long byte_offset = io_req->offset;
1260 io_req->io_desc[0].buffer = NULL;
1261 io_req->io_desc[0].length = blk_rq_bytes(req);
1264 BUG_ON(i >= io_req->desc_cnt);
1266 io_req->io_desc[i].buffer = bvec_virt(&bvec);
1267 io_req->io_desc[i].length = bvec.bv_len;
1273 for (i = 0; i < io_req->desc_cnt; i++) {
1274 cowify_req(io_req, &io_req->io_desc[i], byte_offset,
1277 byte_offset += io_req->io_desc[i].length;
1286 struct io_thread_req *io_req;
1289 io_req = kmalloc(sizeof(*io_req) +
1292 if (!io_req)
1295 io_req->req = req;
1297 io_req->fds[0] = dev->cow.fd;
1299 io_req->fds[0] = dev->fd;
1300 io_req->error = 0;
1301 io_req->sectorsize = SECTOR_SIZE;
1302 io_req->fds[1] = dev->fd;
1303 io_req->offset = (u64) blk_rq_pos(req) << SECTOR_SHIFT;
1304 io_req->offsets[0] = 0;
1305 io_req->offsets[1] = dev->cow.data_offset;
1308 io_req->io_desc[i].sector_mask = 0;
1309 io_req->io_desc[i].cow_offset = -1;
1312 return io_req;
1318 struct io_thread_req *io_req;
1329 io_req = ubd_alloc_req(dev, req, segs);
1330 if (!io_req)
1333 io_req->desc_cnt = segs;
1335 ubd_map_req(dev, io_req, req);
1337 ret = os_write_file(thread_fd, &io_req, sizeof(io_req));
1338 if (ret != sizeof(io_req)) {
1341 kfree(io_req);