Lines Matching refs:dus
216 dmio_usrreq_init(struct file *fp, struct dmio_usrreq_state *dus,
221 struct uio *uio_out = &dus->dus_uio_out;
235 error = proc_vmspace_getref(curproc, &dus->dus_vmspace);
263 uio_out->uio_vmspace = dus->dus_vmspace;
283 dus->dus_uio_in = malloc(sizeof(struct uio) * dses->dses_ninputs,
285 memset(dus->dus_uio_in, 0, sizeof(struct uio) * dses->dses_ninputs);
288 uio_in = &dus->dus_uio_in[i];
329 uio_in->uio_vmspace = dus->dus_vmspace;
339 uio_in = &dus->dus_uio_in[i];
343 free(dus->dus_uio_in, M_TEMP);
346 uvmspace_free(dus->dus_vmspace);
356 dmio_usrreq_fini(struct dmio_state *ds, struct dmio_usrreq_state *dus)
359 struct uio *uio_out = &dus->dus_uio_out;
368 uio_in = &dus->dus_uio_in[i];
371 free(dus->dus_uio_in, M_TEMP);
374 workqueue_enqueue(dmio_cleaner, &dus->dus_work, NULL);
380 struct dmio_usrreq_state *dus = (void *)wk;
382 KASSERT(wk == &dus->dus_work);
384 uvmspace_free(dus->dus_vmspace);
385 pool_put(&dmio_usrreq_state_pool, dus);
398 struct dmio_usrreq_state *dus;
415 dus = TAILQ_FIRST(&ds->ds_complete);
416 if (dus == NULL) {
428 TAILQ_REMOVE(&ds->ds_complete, dus, dus_q);
441 dreq = dus->dus_req;
442 resp.resp_id = dus->dus_id;
451 dmio_usrreq_fini(ds, dus);
480 struct dmio_usrreq_state *dus = dreq->dreq_cookie;
486 TAILQ_REMOVE(&ds->ds_pending, dus, dus_q);
490 dmio_usrreq_fini(ds, dus);
498 TAILQ_INSERT_TAIL(&ds->ds_complete, dus, dus_q);
520 struct dmio_usrreq_state *dus;
569 dus = pool_get(&dmio_usrreq_state_pool, PR_WAITOK);
571 error = dmio_usrreq_init(fp, dus, &req, dreq);
574 pool_put(&dmio_usrreq_state_pool, dus);
579 dreq->dreq_cookie = dus;
581 dus->dus_req = dreq;
582 dus->dus_id = req.req_id;
586 TAILQ_INSERT_TAIL(&ds->ds_pending, dus, dus_q);
728 struct dmio_usrreq_state *dus;
736 while ((dus = TAILQ_FIRST(&ds->ds_complete)) != NULL) {
737 TAILQ_REMOVE(&ds->ds_complete, dus, dus_q);
740 dmover_request_free(dus->dus_req);
741 dmio_usrreq_fini(ds, dus);