Lines Matching refs:ring

109 	vbd->ring.fd  = -1;  in tapdisk_vbd_create()
584 vbd->ring.fd, 0, in tapdisk_vbd_register_event_watches()
606 td_ring_t *ring; in tapdisk_vbd_map_device() local
608 ring = &vbd->ring; in tapdisk_vbd_map_device()
611 ring->fd = open(devname, O_RDWR); in tapdisk_vbd_map_device()
612 if (ring->fd == -1) { in tapdisk_vbd_map_device()
618 ring->mem = mmap(0, psize * BLKTAP_MMAP_REGION_SIZE, in tapdisk_vbd_map_device()
619 PROT_READ | PROT_WRITE, MAP_SHARED, ring->fd, 0); in tapdisk_vbd_map_device()
620 if (ring->mem == MAP_FAILED) { in tapdisk_vbd_map_device()
626 ring->sring = (blkif_sring_t *)((unsigned long)ring->mem); in tapdisk_vbd_map_device()
627 BACK_RING_INIT(&ring->fe_ring, ring->sring, psize); in tapdisk_vbd_map_device()
629 ring->vstart = in tapdisk_vbd_map_device()
630 (unsigned long)ring->mem + (BLKTAP_RING_PAGES * psize); in tapdisk_vbd_map_device()
632 ioctl(ring->fd, BLKTAP_IOCTL_SETMODE, BLKTAP_MODE_INTERPOSE); in tapdisk_vbd_map_device()
637 if (ring->mem && ring->mem != MAP_FAILED) in tapdisk_vbd_map_device()
638 munmap(ring->mem, psize * BLKTAP_MMAP_REGION_SIZE); in tapdisk_vbd_map_device()
639 if (ring->fd != -1) in tapdisk_vbd_map_device()
640 close(ring->fd); in tapdisk_vbd_map_device()
641 ring->fd = -1; in tapdisk_vbd_map_device()
642 ring->mem = NULL; in tapdisk_vbd_map_device()
653 if (vbd->ring.fd != -1) in tapdisk_vbd_unmap_device()
654 close(vbd->ring.fd); in tapdisk_vbd_unmap_device()
655 if (vbd->ring.mem > 0) in tapdisk_vbd_unmap_device()
656 munmap(vbd->ring.mem, psize * BLKTAP_MMAP_REGION_SIZE); in tapdisk_vbd_unmap_device()
696 uint16_t storage, int minor, const char *ring, td_flag_t flags) in tapdisk_vbd_open() argument
704 err = tapdisk_vbd_attach(vbd, ring, minor); in tapdisk_vbd_open()
1014 td_ring_t *ring; in tapdisk_vbd_kick() local
1018 ring = &vbd->ring; in tapdisk_vbd_kick()
1019 if (!ring->sring) in tapdisk_vbd_kick()
1022 n = (ring->fe_ring.rsp_prod_pvt - ring->fe_ring.sring->rsp_prod); in tapdisk_vbd_kick()
1027 RING_PUSH_RESPONSES(&ring->fe_ring); in tapdisk_vbd_kick()
1028 ioctl(ring->fd, BLKTAP_IOCTL_KICK_FE, 0); in tapdisk_vbd_kick()
1039 td_ring_t *ring; in tapdisk_vbd_write_response_to_ring() local
1042 ring = &vbd->ring; in tapdisk_vbd_write_response_to_ring()
1043 rspp = RING_GET_RESPONSE(&ring->fe_ring, ring->fe_ring.rsp_prod_pvt); in tapdisk_vbd_write_response_to_ring()
1045 ring->fe_ring.rsp_prod_pvt++; in tapdisk_vbd_write_response_to_ring()
1359 td_ring_t *ring; in tapdisk_vbd_issue_request() local
1368 ring = &vbd->ring; in tapdisk_vbd_issue_request()
1389 page = (char *)MMAP_VADDR(ring->vstart, in tapdisk_vbd_issue_request()
1557 td_ring_t *ring; in tapdisk_vbd_pull_ring_requests() local
1561 ring = &vbd->ring; in tapdisk_vbd_pull_ring_requests()
1562 if (!ring->sring) in tapdisk_vbd_pull_ring_requests()
1565 rp = ring->fe_ring.sring->req_prod; in tapdisk_vbd_pull_ring_requests()
1568 for (rc = ring->fe_ring.req_cons; rc != rp; rc++) { in tapdisk_vbd_pull_ring_requests()
1569 req = RING_GET_REQUEST(&ring->fe_ring, rc); in tapdisk_vbd_pull_ring_requests()
1570 ++ring->fe_ring.req_cons; in tapdisk_vbd_pull_ring_requests()
1606 err = ioctl(vbd->ring.fd, BLKTAP2_IOCTL_PAUSE, 0); in tapdisk_vbd_pause_ring()
1631 err = ioctl(vbd->ring.fd, BLKTAP2_IOCTL_REOPEN, &message); in tapdisk_vbd_resume_ring()
1673 ioctl(vbd->ring.fd, BLKTAP2_IOCTL_SET_PARAMS, &params); in tapdisk_vbd_resume_ring()
1677 ioctl(vbd->ring.fd, BLKTAP2_IOCTL_RESUME, err); in tapdisk_vbd_resume_ring()
1684 if (!vbd->ring.sring) in tapdisk_vbd_check_ring_message()
1687 switch (vbd->ring.sring->pvt.tapif_user.msg) { in tapdisk_vbd_check_ring_message()