Lines Matching refs:node

122 	watch->node = path;  in xenbus_watch_path()
128 watch->node = NULL; in xenbus_watch_path()
546 struct xenbus_map_node *node; in xenbus_map_ring_valloc_pv() local
559 node = kzalloc(sizeof(*node), GFP_KERNEL); in xenbus_map_ring_valloc_pv()
560 if (!node) in xenbus_map_ring_valloc_pv()
565 kfree(node); in xenbus_map_ring_valloc_pv()
572 err = __xenbus_map_ring(dev, gnt_refs, nr_grefs, node->handles, in xenbus_map_ring_valloc_pv()
579 node->nr_handles = nr_grefs; in xenbus_map_ring_valloc_pv()
580 node->pv.area = area; in xenbus_map_ring_valloc_pv()
583 list_add(&node->next, &xenbus_valloc_pages); in xenbus_map_ring_valloc_pv()
595 kfree(node); in xenbus_map_ring_valloc_pv()
627 struct xenbus_map_node *node; in xenbus_map_ring_valloc_hvm() local
641 node = kzalloc(sizeof(*node), GFP_KERNEL); in xenbus_map_ring_valloc_hvm()
642 if (!node) in xenbus_map_ring_valloc_hvm()
645 err = alloc_xenballooned_pages(nr_pages, node->hvm.pages); in xenbus_map_ring_valloc_hvm()
649 gnttab_foreach_grant(node->hvm.pages, nr_grefs, in xenbus_map_ring_valloc_hvm()
653 err = __xenbus_map_ring(dev, gnt_ref, nr_grefs, node->handles, in xenbus_map_ring_valloc_hvm()
655 node->nr_handles = nr_grefs; in xenbus_map_ring_valloc_hvm()
660 addr = vmap(node->hvm.pages, nr_pages, VM_MAP | VM_IOREMAP, in xenbus_map_ring_valloc_hvm()
667 node->hvm.addr = addr; in xenbus_map_ring_valloc_hvm()
670 list_add(&node->next, &xenbus_valloc_pages); in xenbus_map_ring_valloc_hvm()
678 xenbus_unmap_ring(dev, node->handles, nr_grefs, info.addrs); in xenbus_map_ring_valloc_hvm()
684 free_xenballooned_pages(nr_pages, node->hvm.pages); in xenbus_map_ring_valloc_hvm()
686 kfree(node); in xenbus_map_ring_valloc_hvm()
749 struct xenbus_map_node *node; in xenbus_unmap_ring_vfree_pv() local
757 list_for_each_entry(node, &xenbus_valloc_pages, next) { in xenbus_unmap_ring_vfree_pv()
758 if (node->pv.area->addr == vaddr) { in xenbus_unmap_ring_vfree_pv()
759 list_del(&node->next); in xenbus_unmap_ring_vfree_pv()
763 node = NULL; in xenbus_unmap_ring_vfree_pv()
767 if (!node) { in xenbus_unmap_ring_vfree_pv()
773 for (i = 0; i < node->nr_handles; i++) { in xenbus_unmap_ring_vfree_pv()
781 unmap[i].handle = node->handles[i]; in xenbus_unmap_ring_vfree_pv()
789 for (i = 0; i < node->nr_handles; i++) { in xenbus_unmap_ring_vfree_pv()
794 node->handles[i], unmap[i].status); in xenbus_unmap_ring_vfree_pv()
801 free_vm_area(node->pv.area); in xenbus_unmap_ring_vfree_pv()
804 node->pv.area, node->nr_handles); in xenbus_unmap_ring_vfree_pv()
806 kfree(node); in xenbus_unmap_ring_vfree_pv()
831 struct xenbus_map_node *node; in xenbus_unmap_ring_vfree_hvm() local
839 list_for_each_entry(node, &xenbus_valloc_pages, next) { in xenbus_unmap_ring_vfree_hvm()
840 addr = node->hvm.addr; in xenbus_unmap_ring_vfree_hvm()
842 list_del(&node->next); in xenbus_unmap_ring_vfree_hvm()
846 node = addr = NULL; in xenbus_unmap_ring_vfree_hvm()
850 if (!node) { in xenbus_unmap_ring_vfree_hvm()
856 nr_pages = XENBUS_PAGES(node->nr_handles); in xenbus_unmap_ring_vfree_hvm()
858 gnttab_foreach_grant(node->hvm.pages, node->nr_handles, in xenbus_unmap_ring_vfree_hvm()
862 rv = xenbus_unmap_ring(dev, node->handles, node->nr_handles, in xenbus_unmap_ring_vfree_hvm()
866 free_xenballooned_pages(nr_pages, node->hvm.pages); in xenbus_unmap_ring_vfree_hvm()
871 kfree(node); in xenbus_unmap_ring_vfree_hvm()