Lines Matching defs:vmp

139 	struct vmsg *vmp, *nvmp = NULL;
175 TAILQ_FOREACH_SAFE(vmp, &vcp->vc_requests, vm_chain, nvmp) {
180 if (vmp->vm_opcode == CODA_SIGNAL) {
181 CODA_FREE((caddr_t)vmp->vm_data,
183 CODA_FREE((caddr_t)vmp, (u_int)sizeof(struct vmsg));
187 wakeup(&vmp->vm_sleep);
189 TAILQ_FOREACH(vmp, &vcp->vc_replies, vm_chain) {
191 wakeup(&vmp->vm_sleep);
217 struct vmsg *vmp;
226 vmp = TAILQ_FIRST(&vcp->vc_requests);
227 if (vmp == NULL)
233 * XXXRW: This is not safe in the presence of >1 reader, as vmp is
237 error = uiomove(vmp->vm_data, vmp->vm_inSize, uiop);
242 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
248 if (vmp->vm_opcode == CODA_SIGNAL) {
251 vmp->vm_opcode, vmp->vm_unique));
252 CODA_FREE((caddr_t)vmp->vm_data, (u_int)VC_IN_NO_DATA);
253 CODA_FREE((caddr_t)vmp, (u_int)sizeof(struct vmsg));
256 vmp->vm_flags |= VM_READ;
257 TAILQ_INSERT_TAIL(&vcp->vc_replies, vmp, vm_chain);
265 struct vmsg *vmp;
308 TAILQ_FOREACH(vmp, &vcp->vc_replies, vm_chain) {
309 if (vmp->vm_unique == seq)
312 if (vmp == NULL) {
322 TAILQ_REMOVE(&vcp->vc_replies, vmp, vm_chain);
327 out = (struct coda_out_hdr *)vmp->vm_data;
334 if (vmp->vm_outSize < uiop->uio_resid) {
336 vmp->vm_outSize, uiop->uio_resid));
341 wakeup(&vmp->vm_sleep);
350 error = uiomove((caddr_t) &out->result, vmp->vm_outSize -
365 vmp->vm_outSize = buf[0]; /* Amount of data transferred? */
366 vmp->vm_flags |= VM_WRITE;
392 wakeup(&vmp->vm_sleep);
468 struct vmsg *vmp;
488 CODA_ALLOC(vmp,struct vmsg *,sizeof(struct vmsg));
493 vmp->vm_data = buffer;
494 vmp->vm_flags = 0;
495 vmp->vm_inSize = inSize;
496 vmp->vm_outSize
498 vmp->vm_opcode = ((struct coda_in_hdr *)buffer)->opcode;
499 vmp->vm_unique = ++vcp->vc_seq;
501 myprintf(("Doing a call for %d.%d\n", vmp->vm_opcode,
502 vmp->vm_unique));
507 ((struct coda_in_hdr *)buffer)->unique = vmp->vm_unique;
512 TAILQ_INSERT_TAIL(&vcp->vc_requests, vmp, vm_chain);
539 error = msleep(&vmp->vm_sleep, &p->p_mtx,
596 (void)tsleep(&vmp->vm_sleep, coda_call_sleep, "coda_call", 0);
604 if (vmp->vm_flags & VM_WRITE) {
606 *outSize = vmp->vm_outSize;
607 } else if (!(vmp->vm_flags & VM_READ)) {
615 "%d.%d, flags = %x\n", vmp->vm_opcode,
616 vmp->vm_unique, vmp->vm_flags));
617 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
621 * (!(vmp->vm_flags & VM_WRITE)) means interrupted
636 "%d.%d, flags = %x\n", vmp->vm_opcode,
637 vmp->vm_unique, vmp->vm_flags));
638 TAILQ_REMOVE(&vcp->vc_requests, vmp, vm_chain);
646 dog->unique = svmp->vm_unique = vmp->vm_unique;
666 vmp->vm_opcode, vmp->vm_unique, vmp->vm_flags));
669 CODA_FREE(vmp, sizeof(struct vmsg));