Lines Matching refs:task
433 int (*completef)(struct vd_task *task); /* completion func ptr */
532 int (*start)(vd_task_t *task);
533 int (*complete)(vd_task_t *task);
1909 vd_task_t *task = (vd_task_t *)buf->b_private; in vd_bio_task() local
1910 vd_t *vd = task->vd; in vd_bio_task()
1968 vd_start_bio(vd_task_t *task) in vd_start_bio() argument
1971 vd_t *vd = task->vd; in vd_start_bio()
1972 vd_dring_payload_t *request = task->request; in vd_start_bio()
1973 struct buf *buf = &task->buf; in vd_start_bio()
2013 status = ldc_mem_map(task->mhdl, request->cookie, request->ncookies, in vd_start_bio()
2027 status = ldc_mem_acquire(task->mhdl, 0, buflen); in vd_start_bio()
2029 (void) ldc_mem_unmap(task->mhdl); in vd_start_bio()
2157 task->write_index = vd->write_index; in vd_start_bio()
2158 vd->write_queue[task->write_index] = buf; in vd_start_bio()
2163 buf->b_private = task; in vd_start_bio()
2168 (void) ddi_taskq_dispatch(task->vd->ioq, vd_bio_task, buf, in vd_start_bio()
2203 rv = ldc_mem_release(task->mhdl, 0, buflen); in vd_start_bio()
2208 rv = ldc_mem_unmap(task->mhdl); in vd_start_bio()
2411 vd_complete_bio(vd_task_t *task) in vd_complete_bio() argument
2415 vd_t *vd = task->vd; in vd_complete_bio()
2416 vd_dring_payload_t *request = task->request; in vd_complete_bio()
2417 struct buf *buf = &task->buf; in vd_complete_bio()
2423 ASSERT(task->msg != NULL); in vd_complete_bio()
2424 ASSERT(task->msglen >= sizeof (*task->msg)); in vd_complete_bio()
2452 ASSERT(task->request->operation == VD_OP_BWRITE); in vd_complete_bio()
2454 wid = task->write_index; in vd_complete_bio()
2475 DTRACE_PROBE2(flushgrp, vd_task_t *, task, in vd_complete_bio()
2495 status = ldc_mem_release(task->mhdl, 0, buf->b_bufsize); in vd_complete_bio()
2506 status = ldc_mem_unmap(task->mhdl); in vd_complete_bio()
2534 vd_notify(vd_task_t *task) in vd_notify() argument
2538 ASSERT(task != NULL); in vd_notify()
2539 ASSERT(task->vd != NULL); in vd_notify()
2547 (task->msg->tag.vio_subtype == VIO_SUBTYPE_ACK) ? "ACK" : "NACK"); in vd_notify()
2549 status = send_msg(task->vd->ldc_handle, task->msg, task->msglen); in vd_notify()
2554 vd_mark_in_reset(task->vd); in vd_notify()
2558 vd_need_reset(task->vd, B_TRUE); in vd_notify()
2562 DTRACE_PROBE1(task__end, vd_task_t *, task); in vd_notify()
2577 vd_complete_notify(vd_task_t *task) in vd_complete_notify() argument
2580 vd_t *vd = task->vd; in vd_complete_notify()
2581 vd_dring_payload_t *request = task->request; in vd_complete_notify()
2585 status = vd_mark_elem_done(vd, task->index, in vd_complete_notify()
2598 if ((status != 0) || (task->status != 0)) in vd_complete_notify()
2599 task->msg->tag.vio_subtype = VIO_SUBTYPE_NACK; in vd_complete_notify()
2605 if (task->type == VD_NONFINAL_RANGE_TASK) { in vd_complete_notify()
2616 vd_notify(task); in vd_complete_notify()
2634 vd_task_t *task = (vd_task_t *)arg; in vd_serial_notify() local
2636 ASSERT(task != NULL); in vd_serial_notify()
2637 vd_notify(task); in vd_serial_notify()
3588 vd_task_t *task = (vd_task_t *)arg; in vd_complete() local
3590 ASSERT(task != NULL); in vd_complete()
3591 ASSERT(task->status == EINPROGRESS); in vd_complete()
3592 ASSERT(task->completef != NULL); in vd_complete()
3594 task->status = task->completef(task); in vd_complete()
3595 if (task->status) in vd_complete()
3596 PR0("%s: Error %d completing task", __func__, task->status); in vd_complete()
3599 vd_complete_notify(task); in vd_complete()
3603 vd_ioctl(vd_task_t *task) in vd_ioctl() argument
3611 vd_t *vd = task->vd; in vd_ioctl()
3612 vd_dring_payload_t *request = task->request; in vd_ioctl()
3709 vd_get_devid(vd_task_t *task) in vd_get_devid() argument
3711 vd_t *vd = task->vd; in vd_get_devid()
3712 vd_dring_payload_t *request = task->request; in vd_get_devid()
3805 vd_reset(vd_task_t *task) in vd_reset() argument
3807 vd_t *vd = task->vd; in vd_reset()
3808 vd_dring_payload_t *request = task->request; in vd_reset()
3827 vd_get_capacity(vd_task_t *task) in vd_get_capacity() argument
3831 vd_t *vd = task->vd; in vd_get_capacity()
3832 vd_dring_payload_t *request = task->request; in vd_get_capacity()
3870 vd_get_access(vd_task_t *task) in vd_get_access() argument
3875 vd_t *vd = task->vd; in vd_get_access()
3876 vd_dring_payload_t *request = task->request; in vd_get_access()
3909 vd_set_access(vd_task_t *task) in vd_set_access() argument
3914 vd_t *vd = task->vd; in vd_set_access()
3915 vd_dring_payload_t *request = task->request; in vd_set_access()
4133 vd_do_process_task(vd_task_t *task) in vd_do_process_task() argument
4136 vd_t *vd = task->vd; in vd_do_process_task()
4137 vd_dring_payload_t *request = task->request; in vd_do_process_task()
4148 task->completef = vds_operation[i].complete; in vd_do_process_task()
4179 return (vds_operation[i].start(task)); in vd_do_process_task()
4206 vd_process_task(vd_task_t *task) in vd_process_task() argument
4208 vd_t *vd = task->vd; in vd_process_task()
4211 DTRACE_PROBE1(task__start, vd_task_t *, task); in vd_process_task()
4213 task->status = vd_do_process_task(task); in vd_process_task()
4228 if (task->status == EINPROGRESS) { in vd_process_task()
4231 task, DDI_SLEEP); in vd_process_task()
4237 status = vd_mark_elem_done(vd, task->index, in vd_process_task()
4238 task->request->status, task->request->nbytes); in vd_process_task()
4245 return (task->status); in vd_process_task()
5133 vd_task_t task; in vd_process_msg() local
5180 task.vd = vd; in vd_process_msg()
5181 task.msg = msg; in vd_process_msg()
5182 task.msglen = msglen; in vd_process_msg()
5191 &task, DDI_SLEEP); in vd_process_msg()