Lines Matching refs:vmp
178 struct vmsg *vmp;
210 while ((vmp = TAILQ_FIRST(&vcp->vc_requests)) != NULL) {
211 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
215 if (vmp->vm_opcode == CODA_SIGNAL) {
216 CODA_FREE(vmp->vm_data, VC_IN_NO_DATA);
217 CODA_FREE(vmp, sizeof(struct vmsg));
221 wakeup(&vmp->vm_sleep);
224 while ((vmp = TAILQ_FIRST(&vcp->vc_replies)) != NULL) {
225 TAILQ_REMOVE(&vcp->vc_replies, vmp, vm_chain);
228 wakeup(&vmp->vm_sleep);
255 struct vmsg *vmp;
266 vmp = TAILQ_FIRST(&vcp->vc_requests);
267 if (vmp == NULL)
272 error = uiomove(vmp->vm_data, vmp->vm_inSize, uiop);
278 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
282 if (vmp->vm_opcode == CODA_SIGNAL) {
285 vmp->vm_opcode, vmp->vm_unique));
286 CODA_FREE(vmp->vm_data, VC_IN_NO_DATA);
287 CODA_FREE(vmp, sizeof(struct vmsg));
291 vmp->vm_flags |= VM_READ;
292 TAILQ_INSERT_TAIL(&vcp->vc_replies, vmp, vm_chain);
301 struct vmsg *vmp;
345 TAILQ_FOREACH(vmp, &vcp->vc_replies, vm_chain) {
346 if (vmp->vm_unique == seq) break;
349 if (vmp == NULL) {
357 TAILQ_REMOVE(&vcp->vc_replies, vmp, vm_chain);
360 out = (struct coda_out_hdr *)vmp->vm_data;
364 if (vmp->vm_outSize < uiop->uio_resid) {
366 vmp->vm_outSize, (unsigned long) uiop->uio_resid));
367 wakeup(&vmp->vm_sleep); /* Notify caller of the error. */
373 error = uiomove(&out->result, vmp->vm_outSize - (sizeof(int) * 2), uiop);
384 vmp->vm_outSize = tbuf[0]; /* Amount of data transferred? */
385 vmp->vm_flags |= VM_WRITE;
386 wakeup(&vmp->vm_sleep);
478 struct vmsg *vmp;
480 vmp = TAILQ_FIRST(&vcp->vc_requests);
481 if (vmp == NULL)
484 kn->kn_data = vmp->vm_inSize;
542 struct vmsg *vmp;
564 CODA_ALLOC(vmp,struct vmsg *,sizeof(struct vmsg));
566 vmp->vm_data = buffer;
567 vmp->vm_flags = 0;
568 vmp->vm_inSize = inSize;
569 vmp->vm_outSize
571 vmp->vm_opcode = ((struct coda_in_hdr *)buffer)->opcode;
572 vmp->vm_unique = ++vcp->vc_seq;
575 vmp->vm_opcode, vmp->vm_unique));
578 ((struct coda_in_hdr *)buffer)->unique = vmp->vm_unique;
581 TAILQ_INSERT_TAIL(&vcp->vc_requests, vmp, vm_chain);
604 error = tsleep(&vmp->vm_sleep, (coda_call_sleep|coda_pcatch), "coda_call", hz*2);
651 (void) tsleep(&vmp->vm_sleep, coda_call_sleep, "coda_call", 0);
655 if (vmp->vm_flags & VM_WRITE) {
657 *outSize = vmp->vm_outSize;
660 else if (!(vmp->vm_flags & VM_READ)) {
668 vmp->vm_opcode, vmp->vm_unique, vmp->vm_flags));
670 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
675 /* (!(vmp->vm_flags & VM_WRITE)) means interrupted after
687 vmp->vm_opcode, vmp->vm_unique, vmp->vm_flags));
689 TAILQ_REMOVE(&vcp->vc_replies, vmp, vm_chain);
699 dog->unique = svmp->vm_unique = vmp->vm_unique;
716 vmp->vm_opcode, vmp->vm_unique, vmp->vm_flags));
722 CODA_FREE(vmp, sizeof(struct vmsg));