Lines Matching refs:backing_req

133 static void miss_read_end_req(struct pcache_backing_dev_req *backing_req, int read_ret)  in miss_read_end_req()  argument
135 void *priv_data = backing_req->priv_data; in miss_read_end_req()
136 struct pcache_request *pcache_req = backing_req->req.upper_req; in miss_read_end_req()
137 struct pcache_cache *cache = backing_req->backing_dev->cache; in miss_read_end_req()
165 ret = cache_copy_from_req_bio(cache, key, pcache_req, backing_req->req.bio_off); in miss_read_end_req()
202 … void submit_cache_miss_req(struct pcache_cache *cache, struct pcache_backing_dev_req *backing_req) in submit_cache_miss_req() argument
204 if (backing_req->priv_data) { in submit_cache_miss_req()
208 key = (struct pcache_cache_key *)backing_req->priv_data; in submit_cache_miss_req()
211 backing_dev_req_submit(backing_req, false); in submit_cache_miss_req()
214 static void cache_miss_req_free(struct pcache_backing_dev_req *backing_req) in cache_miss_req_free() argument
218 if (backing_req->priv_data) { in cache_miss_req_free()
219 key = backing_req->priv_data; in cache_miss_req_free()
220 backing_req->priv_data = NULL; in cache_miss_req_free()
225 backing_dev_req_end(backing_req); in cache_miss_req_free()
233 struct pcache_backing_dev_req *backing_req; in cache_miss_req_alloc() local
241 backing_req = backing_dev_req_alloc(backing_dev, &req_opts); in cache_miss_req_alloc()
242 if (!backing_req) in cache_miss_req_alloc()
250 backing_req->priv_data = key; in cache_miss_req_alloc()
252 return backing_req; in cache_miss_req_alloc()
255 cache_miss_req_free(backing_req); in cache_miss_req_alloc()
260 struct pcache_backing_dev_req *backing_req, in cache_miss_req_init() argument
273 backing_dev_req_init(backing_req, &req_opts); in cache_miss_req_init()
276 key = backing_req->priv_data; in cache_miss_req_init()
281 key = backing_req->priv_data; in cache_miss_req_init()
282 backing_req->priv_data = NULL; in cache_miss_req_init()
292 struct pcache_backing_dev_req *backing_req; in get_pre_alloc_req() local
295 backing_req = ctx->pre_alloc_req; in get_pre_alloc_req()
298 return backing_req; in get_pre_alloc_req()
330 struct pcache_backing_dev_req *backing_req; in read_before() local
338 backing_req = get_pre_alloc_req(ctx); in read_before()
339 if (!backing_req) in read_before()
342 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, key->len, true); in read_before()
344 list_add(&backing_req->node, ctx->submit_req_list); in read_before()
362 struct pcache_backing_dev_req *backing_req; in read_overlap_tail() local
372 backing_req = get_pre_alloc_req(ctx); in read_overlap_tail()
373 if (!backing_req) in read_overlap_tail()
376 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, io_len, true); in read_overlap_tail()
378 list_add(&backing_req->node, ctx->submit_req_list); in read_overlap_tail()
389 backing_req = get_pre_alloc_req(ctx); in read_overlap_tail()
390 if (!backing_req) in read_overlap_tail()
393 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, io_len, false); in read_overlap_tail()
394 submit_cache_miss_req(cache, backing_req); in read_overlap_tail()
423 struct pcache_backing_dev_req *backing_req; in read_overlap_contain() local
433 backing_req = get_pre_alloc_req(ctx); in read_overlap_contain()
434 if (!backing_req) in read_overlap_contain()
437 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, io_len, true); in read_overlap_contain()
439 list_add(&backing_req->node, ctx->submit_req_list); in read_overlap_contain()
450 backing_req = get_pre_alloc_req(ctx); in read_overlap_contain()
451 if (!backing_req) in read_overlap_contain()
454 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, io_len, false); in read_overlap_contain()
455 submit_cache_miss_req(cache, backing_req); in read_overlap_contain()
488 struct pcache_backing_dev_req *backing_req; in read_overlap_contained() local
497 backing_req = get_pre_alloc_req(ctx); in read_overlap_contained()
498 if (!backing_req) in read_overlap_contained()
501 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, key->len, false); in read_overlap_contained()
502 submit_cache_miss_req(cache, backing_req); in read_overlap_contained()
534 struct pcache_backing_dev_req *backing_req; in read_overlap_head() local
542 backing_req = get_pre_alloc_req(ctx); in read_overlap_head()
543 if (!backing_req) in read_overlap_head()
546 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, io_len, false); in read_overlap_head()
547 submit_cache_miss_req(cache, backing_req); in read_overlap_head()
598 struct pcache_backing_dev_req *backing_req, *next_req; in read_walk_finally() local
601 list_for_each_entry_safe(backing_req, next_req, ctx->submit_req_list, node) { in read_walk_finally()
602 list_del_init(&backing_req->node); in read_walk_finally()
603 submit_cache_miss_req(ctx->cache_tree->cache, backing_req); in read_walk_finally()
610 backing_req = get_pre_alloc_req(ctx); in read_walk_finally()
611 if (!backing_req) in read_walk_finally()
614 cache_miss_req_init(cache, backing_req, ctx->pcache_req, ctx->req_done, key->len, true); in read_walk_finally()
615 submit_cache_miss_req(cache, backing_req); in read_walk_finally()
670 struct pcache_backing_dev_req *backing_req, *next_req; in cache_read() local
731 list_for_each_entry_safe(backing_req, next_req, &submit_req_list, node) { in cache_read()
732 list_del_init(&backing_req->node); in cache_read()
733 backing_dev_req_end(backing_req); in cache_read()