Lines Matching refs:gnt_list_entry

229 	struct grant *gnt_list_entry, *n;  in fill_grant_buffer()  local
233 gnt_list_entry = kzalloc(sizeof(struct grant), GFP_NOIO); in fill_grant_buffer()
234 if (!gnt_list_entry) in fill_grant_buffer()
240 kfree(gnt_list_entry); in fill_grant_buffer()
243 gnt_list_entry->page = granted_page; in fill_grant_buffer()
246 gnt_list_entry->gref = GRANT_INVALID_REF; in fill_grant_buffer()
247 list_add(&gnt_list_entry->node, &info->grants); in fill_grant_buffer()
254 list_for_each_entry_safe(gnt_list_entry, n, in fill_grant_buffer()
256 list_del(&gnt_list_entry->node); in fill_grant_buffer()
258 __free_page(gnt_list_entry->page); in fill_grant_buffer()
259 kfree(gnt_list_entry); in fill_grant_buffer()
268 struct grant *gnt_list_entry; in get_free_grant() local
271 gnt_list_entry = list_first_entry(&info->grants, struct grant, in get_free_grant()
273 list_del(&gnt_list_entry->node); in get_free_grant()
275 if (gnt_list_entry->gref != GRANT_INVALID_REF) in get_free_grant()
278 return gnt_list_entry; in get_free_grant()
281 static inline void grant_foreign_access(const struct grant *gnt_list_entry, in grant_foreign_access() argument
284 gnttab_page_grant_foreign_access_ref_one(gnt_list_entry->gref, in grant_foreign_access()
286 gnt_list_entry->page, in grant_foreign_access()
294 struct grant *gnt_list_entry = get_free_grant(info); in get_grant() local
296 if (gnt_list_entry->gref != GRANT_INVALID_REF) in get_grant()
297 return gnt_list_entry; in get_grant()
300 gnt_list_entry->gref = gnttab_claim_grant_reference(gref_head); in get_grant()
301 BUG_ON(gnt_list_entry->gref == -ENOSPC); in get_grant()
303 grant_foreign_access(gnt_list_entry, info); in get_grant()
306 gnttab_grant_foreign_access_ref(gnt_list_entry->gref, in get_grant()
311 return gnt_list_entry; in get_grant()
317 struct grant *gnt_list_entry = get_free_grant(info); in get_indirect_grant() local
319 if (gnt_list_entry->gref != GRANT_INVALID_REF) in get_indirect_grant()
320 return gnt_list_entry; in get_indirect_grant()
323 gnt_list_entry->gref = gnttab_claim_grant_reference(gref_head); in get_indirect_grant()
324 BUG_ON(gnt_list_entry->gref == -ENOSPC); in get_indirect_grant()
333 gnt_list_entry->page = indirect_page; in get_indirect_grant()
335 grant_foreign_access(gnt_list_entry, info); in get_indirect_grant()
337 return gnt_list_entry; in get_indirect_grant()
505 struct grant *gnt_list_entry; in blkif_setup_rw_req_grant() local
519 gnt_list_entry = get_indirect_grant(&setup->gref_head, info); in blkif_setup_rw_req_grant()
520 shadow->indirect_grants[n] = gnt_list_entry; in blkif_setup_rw_req_grant()
521 setup->segments = kmap_atomic(gnt_list_entry->page); in blkif_setup_rw_req_grant()
522 ring_req->u.indirect.indirect_grefs[n] = gnt_list_entry->gref; in blkif_setup_rw_req_grant()
525 gnt_list_entry = get_grant(&setup->gref_head, gfn, info); in blkif_setup_rw_req_grant()
526 ref = gnt_list_entry->gref; in blkif_setup_rw_req_grant()
527 shadow->grants_used[grant_idx] = gnt_list_entry; in blkif_setup_rw_req_grant()
532 shared_data = kmap_atomic(gnt_list_entry->page); in blkif_setup_rw_req_grant()