Lines Matching defs:gc_rq
24 static void pblk_gc_free_gc_rq(struct pblk_gc_rq *gc_rq)
26 if (gc_rq->data)
27 vfree(gc_rq->data);
28 kfree(gc_rq);
34 struct pblk_gc_rq *gc_rq, *tgc_rq;
47 list_for_each_entry_safe(gc_rq, tgc_rq, &w_list, list) {
48 pblk_write_gc_to_cache(pblk, gc_rq);
49 list_del(&gc_rq->list);
50 kref_put(&gc_rq->line->ref, pblk_line_put);
51 pblk_gc_free_gc_rq(gc_rq);
93 struct pblk_gc_rq *gc_rq = gc_rq_ws->priv;
99 ret = pblk_submit_read_gc(pblk, gc_rq);
105 if (!gc_rq->secs_to_gc)
117 list_add_tail(&gc_rq->list, &gc->w_list);
126 pblk_gc_free_gc_rq(gc_rq);
187 struct pblk_gc_rq *gc_rq;
220 gc_rq = kmalloc(sizeof(struct pblk_gc_rq), GFP_KERNEL);
221 if (!gc_rq)
231 gc_rq->paddr_list[nr_secs] = bit;
232 gc_rq->lba_list[nr_secs++] = le64_to_cpu(lba_list[bit]);
236 kfree(gc_rq);
240 gc_rq->nr_secs = nr_secs;
241 gc_rq->line = line;
243 gc_rq->data = vmalloc(array_size(gc_rq->nr_secs, geo->csecs));
244 if (!gc_rq->data)
253 gc_rq_ws->priv = gc_rq;
282 vfree(gc_rq->data);
284 kfree(gc_rq);