Lines Matching refs:node

117 	watch->node = path;  in xenbus_watch_path()
123 watch->node = NULL; in xenbus_watch_path()
541 struct xenbus_map_node *node; in xenbus_map_ring_valloc_pv() local
554 node = kzalloc(sizeof(*node), GFP_KERNEL); in xenbus_map_ring_valloc_pv()
555 if (!node) in xenbus_map_ring_valloc_pv()
560 kfree(node); in xenbus_map_ring_valloc_pv()
567 err = __xenbus_map_ring(dev, gnt_refs, nr_grefs, node->handles, in xenbus_map_ring_valloc_pv()
574 node->nr_handles = nr_grefs; in xenbus_map_ring_valloc_pv()
575 node->pv.area = area; in xenbus_map_ring_valloc_pv()
578 list_add(&node->next, &xenbus_valloc_pages); in xenbus_map_ring_valloc_pv()
590 kfree(node); in xenbus_map_ring_valloc_pv()
599 struct xenbus_map_node *node; in xenbus_map_ring_valloc_hvm() local
613 node = kzalloc(sizeof(*node), GFP_KERNEL); in xenbus_map_ring_valloc_hvm()
614 if (!node) in xenbus_map_ring_valloc_hvm()
617 err = alloc_xenballooned_pages(nr_grefs, node->hvm.pages, in xenbus_map_ring_valloc_hvm()
623 unsigned long pfn = page_to_pfn(node->hvm.pages[i]); in xenbus_map_ring_valloc_hvm()
628 err = __xenbus_map_ring(dev, gnt_ref, nr_grefs, node->handles, in xenbus_map_ring_valloc_hvm()
630 node->nr_handles = nr_grefs; in xenbus_map_ring_valloc_hvm()
635 addr = vmap(node->hvm.pages, nr_grefs, VM_MAP | VM_IOREMAP, in xenbus_map_ring_valloc_hvm()
642 node->hvm.addr = addr; in xenbus_map_ring_valloc_hvm()
645 list_add(&node->next, &xenbus_valloc_pages); in xenbus_map_ring_valloc_hvm()
653 xenbus_unmap_ring(dev, node->handles, node->nr_handles, in xenbus_map_ring_valloc_hvm()
660 free_xenballooned_pages(nr_grefs, node->hvm.pages); in xenbus_map_ring_valloc_hvm()
662 kfree(node); in xenbus_map_ring_valloc_hvm()
725 struct xenbus_map_node *node; in xenbus_unmap_ring_vfree_pv() local
733 list_for_each_entry(node, &xenbus_valloc_pages, next) { in xenbus_unmap_ring_vfree_pv()
734 if (node->pv.area->addr == vaddr) { in xenbus_unmap_ring_vfree_pv()
735 list_del(&node->next); in xenbus_unmap_ring_vfree_pv()
739 node = NULL; in xenbus_unmap_ring_vfree_pv()
743 if (!node) { in xenbus_unmap_ring_vfree_pv()
749 for (i = 0; i < node->nr_handles; i++) { in xenbus_unmap_ring_vfree_pv()
757 unmap[i].handle = node->handles[i]; in xenbus_unmap_ring_vfree_pv()
765 for (i = 0; i < node->nr_handles; i++) { in xenbus_unmap_ring_vfree_pv()
770 node->handles[i], unmap[i].status); in xenbus_unmap_ring_vfree_pv()
777 free_vm_area(node->pv.area); in xenbus_unmap_ring_vfree_pv()
780 node->pv.area, node->nr_handles); in xenbus_unmap_ring_vfree_pv()
782 kfree(node); in xenbus_unmap_ring_vfree_pv()
789 struct xenbus_map_node *node; in xenbus_unmap_ring_vfree_hvm() local
795 list_for_each_entry(node, &xenbus_valloc_pages, next) { in xenbus_unmap_ring_vfree_hvm()
796 addr = node->hvm.addr; in xenbus_unmap_ring_vfree_hvm()
798 list_del(&node->next); in xenbus_unmap_ring_vfree_hvm()
802 node = addr = NULL; in xenbus_unmap_ring_vfree_hvm()
806 if (!node) { in xenbus_unmap_ring_vfree_hvm()
812 for (i = 0; i < node->nr_handles; i++) in xenbus_unmap_ring_vfree_hvm()
813 addrs[i] = (unsigned long)pfn_to_kaddr(page_to_pfn(node->hvm.pages[i])); in xenbus_unmap_ring_vfree_hvm()
815 rv = xenbus_unmap_ring(dev, node->handles, node->nr_handles, in xenbus_unmap_ring_vfree_hvm()
819 free_xenballooned_pages(node->nr_handles, node->hvm.pages); in xenbus_unmap_ring_vfree_hvm()
823 node->nr_handles); in xenbus_unmap_ring_vfree_hvm()
825 kfree(node); in xenbus_unmap_ring_vfree_hvm()