Lines Matching refs:aio_cmd
273 struct target_core_file_cmd *aio_cmd; in fd_execute_rw_aio() local
279 aio_cmd = kmalloc(struct_size(aio_cmd, bvecs, sgl_nents), GFP_KERNEL); in fd_execute_rw_aio()
280 if (!aio_cmd) in fd_execute_rw_aio()
284 bvec_set_page(&aio_cmd->bvecs[i], sg_page(sg), sg->length, in fd_execute_rw_aio()
289 iov_iter_bvec(&iter, is_write, aio_cmd->bvecs, sgl_nents, len); in fd_execute_rw_aio()
291 aio_cmd->cmd = cmd; in fd_execute_rw_aio()
292 aio_cmd->len = len; in fd_execute_rw_aio()
293 aio_cmd->iocb.ki_pos = cmd->t_task_lba * dev->dev_attrib.block_size; in fd_execute_rw_aio()
294 aio_cmd->iocb.ki_filp = file; in fd_execute_rw_aio()
295 aio_cmd->iocb.ki_complete = cmd_rw_aio_complete; in fd_execute_rw_aio()
296 aio_cmd->iocb.ki_flags = IOCB_DIRECT; in fd_execute_rw_aio()
299 aio_cmd->iocb.ki_flags |= IOCB_DSYNC; in fd_execute_rw_aio()
302 ret = call_write_iter(file, &aio_cmd->iocb, &iter); in fd_execute_rw_aio()
304 ret = call_read_iter(file, &aio_cmd->iocb, &iter); in fd_execute_rw_aio()
307 cmd_rw_aio_complete(&aio_cmd->iocb, ret); in fd_execute_rw_aio()