persistent_gnt    138 drivers/block/xen-blkback/blkback.c static inline bool persistent_gnt_timeout(struct persistent_gnt *persistent_gnt)
persistent_gnt    141 drivers/block/xen-blkback/blkback.c 	       (jiffies - persistent_gnt->last_used >=
persistent_gnt    231 drivers/block/xen-blkback/blkback.c 			       struct persistent_gnt *persistent_gnt)
persistent_gnt    234 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *this;
persistent_gnt    245 drivers/block/xen-blkback/blkback.c 		this = container_of(*new, struct persistent_gnt, node);
persistent_gnt    248 drivers/block/xen-blkback/blkback.c 		if (persistent_gnt->gnt < this->gnt)
persistent_gnt    250 drivers/block/xen-blkback/blkback.c 		else if (persistent_gnt->gnt > this->gnt)
persistent_gnt    258 drivers/block/xen-blkback/blkback.c 	persistent_gnt->active = true;
persistent_gnt    260 drivers/block/xen-blkback/blkback.c 	rb_link_node(&(persistent_gnt->node), parent, new);
persistent_gnt    261 drivers/block/xen-blkback/blkback.c 	rb_insert_color(&(persistent_gnt->node), &ring->persistent_gnts);
persistent_gnt    267 drivers/block/xen-blkback/blkback.c static struct persistent_gnt *get_persistent_gnt(struct xen_blkif_ring *ring,
persistent_gnt    270 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *data;
persistent_gnt    275 drivers/block/xen-blkback/blkback.c 		data = container_of(node, struct persistent_gnt, node);
persistent_gnt    295 drivers/block/xen-blkback/blkback.c                                struct persistent_gnt *persistent_gnt)
persistent_gnt    297 drivers/block/xen-blkback/blkback.c 	if (!persistent_gnt->active)
persistent_gnt    299 drivers/block/xen-blkback/blkback.c 	persistent_gnt->last_used = jiffies;
persistent_gnt    300 drivers/block/xen-blkback/blkback.c 	persistent_gnt->active = false;
persistent_gnt    309 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *persistent_gnt;
persistent_gnt    318 drivers/block/xen-blkback/blkback.c 	foreach_grant_safe(persistent_gnt, n, root, node) {
persistent_gnt    319 drivers/block/xen-blkback/blkback.c 		BUG_ON(persistent_gnt->handle ==
persistent_gnt    323 drivers/block/xen-blkback/blkback.c 				persistent_gnt->page)),
persistent_gnt    325 drivers/block/xen-blkback/blkback.c 			persistent_gnt->handle);
persistent_gnt    327 drivers/block/xen-blkback/blkback.c 		pages[segs_to_unmap] = persistent_gnt->page;
persistent_gnt    330 drivers/block/xen-blkback/blkback.c 			!rb_next(&persistent_gnt->node)) {
persistent_gnt    339 drivers/block/xen-blkback/blkback.c 		rb_erase(&persistent_gnt->node, root);
persistent_gnt    340 drivers/block/xen-blkback/blkback.c 		kfree(persistent_gnt);
persistent_gnt    350 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *persistent_gnt;
persistent_gnt    360 drivers/block/xen-blkback/blkback.c 		persistent_gnt = list_first_entry(&ring->persistent_purge_list,
persistent_gnt    361 drivers/block/xen-blkback/blkback.c 		                                  struct persistent_gnt,
persistent_gnt    363 drivers/block/xen-blkback/blkback.c 		list_del(&persistent_gnt->remove_node);
persistent_gnt    366 drivers/block/xen-blkback/blkback.c 			vaddr(persistent_gnt->page),
persistent_gnt    368 drivers/block/xen-blkback/blkback.c 			persistent_gnt->handle);
persistent_gnt    370 drivers/block/xen-blkback/blkback.c 		pages[segs_to_unmap] = persistent_gnt->page;
persistent_gnt    378 drivers/block/xen-blkback/blkback.c 		kfree(persistent_gnt);
persistent_gnt    389 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *persistent_gnt;
persistent_gnt    427 drivers/block/xen-blkback/blkback.c 	foreach_grant_safe(persistent_gnt, n, root, node) {
persistent_gnt    428 drivers/block/xen-blkback/blkback.c 		BUG_ON(persistent_gnt->handle ==
persistent_gnt    431 drivers/block/xen-blkback/blkback.c 		if (persistent_gnt->active)
persistent_gnt    433 drivers/block/xen-blkback/blkback.c 		if (!scan_used && !persistent_gnt_timeout(persistent_gnt))
persistent_gnt    438 drivers/block/xen-blkback/blkback.c 		rb_erase(&persistent_gnt->node, root);
persistent_gnt    439 drivers/block/xen-blkback/blkback.c 		list_add(&persistent_gnt->remove_node,
persistent_gnt    704 drivers/block/xen-blkback/blkback.c 		if (pages[i]->persistent_gnt != NULL) {
persistent_gnt    705 drivers/block/xen-blkback/blkback.c 			put_persistent_gnt(ring, pages[i]->persistent_gnt);
persistent_gnt    810 drivers/block/xen-blkback/blkback.c 	struct persistent_gnt *persistent_gnt = NULL;
persistent_gnt    831 drivers/block/xen-blkback/blkback.c 			persistent_gnt = get_persistent_gnt(
persistent_gnt    836 drivers/block/xen-blkback/blkback.c 		if (persistent_gnt) {
persistent_gnt    841 drivers/block/xen-blkback/blkback.c 			pages[i]->page = persistent_gnt->page;
persistent_gnt    842 drivers/block/xen-blkback/blkback.c 			pages[i]->persistent_gnt = persistent_gnt;
persistent_gnt    848 drivers/block/xen-blkback/blkback.c 			pages[i]->persistent_gnt = NULL;
persistent_gnt    872 drivers/block/xen-blkback/blkback.c 		if (!pages[seg_idx]->persistent_gnt) {
persistent_gnt    892 drivers/block/xen-blkback/blkback.c 			persistent_gnt = kmalloc(sizeof(struct persistent_gnt),
persistent_gnt    894 drivers/block/xen-blkback/blkback.c 			if (!persistent_gnt) {
persistent_gnt    902 drivers/block/xen-blkback/blkback.c 			persistent_gnt->gnt = map[new_map_idx].ref;
persistent_gnt    903 drivers/block/xen-blkback/blkback.c 			persistent_gnt->handle = map[new_map_idx].handle;
persistent_gnt    904 drivers/block/xen-blkback/blkback.c 			persistent_gnt->page = pages[seg_idx]->page;
persistent_gnt    906 drivers/block/xen-blkback/blkback.c 			                       persistent_gnt)) {
persistent_gnt    907 drivers/block/xen-blkback/blkback.c 				kfree(persistent_gnt);
persistent_gnt    908 drivers/block/xen-blkback/blkback.c 				persistent_gnt = NULL;
persistent_gnt    911 drivers/block/xen-blkback/blkback.c 			pages[seg_idx]->persistent_gnt = persistent_gnt;
persistent_gnt    913 drivers/block/xen-blkback/blkback.c 				 persistent_gnt->gnt, ring->persistent_gnt_c,
persistent_gnt    331 drivers/block/xen-blkback/common.h 	struct persistent_gnt	*persistent_gnt;
persistent_gnt   1245 drivers/block/xen-blkfront.c 	struct grant *persistent_gnt, *n;
persistent_gnt   1265 drivers/block/xen-blkfront.c 		list_for_each_entry_safe(persistent_gnt, n,
persistent_gnt   1267 drivers/block/xen-blkfront.c 			list_del(&persistent_gnt->node);
persistent_gnt   1268 drivers/block/xen-blkfront.c 			if (persistent_gnt->gref != GRANT_INVALID_REF) {
persistent_gnt   1269 drivers/block/xen-blkfront.c 				gnttab_end_foreign_access(persistent_gnt->gref,
persistent_gnt   1274 drivers/block/xen-blkfront.c 				__free_page(persistent_gnt->page);
persistent_gnt   1275 drivers/block/xen-blkfront.c 			kfree(persistent_gnt);
persistent_gnt   1292 drivers/block/xen-blkfront.c 			persistent_gnt = rinfo->shadow[i].grants_used[j];
persistent_gnt   1293 drivers/block/xen-blkfront.c 			gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
persistent_gnt   1295 drivers/block/xen-blkfront.c 				__free_page(persistent_gnt->page);
persistent_gnt   1296 drivers/block/xen-blkfront.c 			kfree(persistent_gnt);
persistent_gnt   1307 drivers/block/xen-blkfront.c 			persistent_gnt = rinfo->shadow[i].indirect_grants[j];
persistent_gnt   1308 drivers/block/xen-blkfront.c 			gnttab_end_foreign_access(persistent_gnt->gref, 0, 0UL);
persistent_gnt   1309 drivers/block/xen-blkfront.c 			__free_page(persistent_gnt->page);
persistent_gnt   1310 drivers/block/xen-blkfront.c 			kfree(persistent_gnt);