Lines Matching refs:c_ctx

21 				    struct pblk_c_ctx *c_ctx)  in pblk_end_w_bio()  argument
28 for (i = 0; i < c_ctx->nr_valid; i++) { in pblk_end_w_bio()
30 int pos = c_ctx->sentry + i; in pblk_end_w_bio()
50 if (c_ctx->nr_padded) in pblk_end_w_bio()
51 pblk_bio_free_pages(pblk, rqd->bio, c_ctx->nr_valid, in pblk_end_w_bio()
52 c_ctx->nr_padded); in pblk_end_w_bio()
58 ret = pblk_rb_sync_advance(&pblk->rwb, c_ctx->nr_valid); in pblk_end_w_bio()
68 struct pblk_c_ctx *c_ctx) in pblk_end_queued_w_bio() argument
70 list_del(&c_ctx->list); in pblk_end_queued_w_bio()
71 return pblk_end_w_bio(pblk, rqd, c_ctx); in pblk_end_queued_w_bio()
75 struct pblk_c_ctx *c_ctx) in pblk_complete_write() argument
82 atomic_long_sub(c_ctx->nr_valid, &pblk->inflight_writes); in pblk_complete_write()
85 pblk_up_rq(pblk, rqd->ppa_list, rqd->nr_ppas, c_ctx->lun_bitmap); in pblk_complete_write()
88 if (pos == c_ctx->sentry) { in pblk_complete_write()
89 pos = pblk_end_w_bio(pblk, rqd, c_ctx); in pblk_complete_write()
100 WARN_ON(nvm_rq_from_c_ctx(c_ctx) != rqd); in pblk_complete_write()
101 list_add_tail(&c_ctx->list, &pblk->compl_list); in pblk_complete_write()
182 static void pblk_queue_resubmit(struct pblk *pblk, struct pblk_c_ctx *c_ctx) in pblk_queue_resubmit() argument
191 r_ctx->sentry = c_ctx->sentry; in pblk_queue_resubmit()
192 r_ctx->nr_valid = c_ctx->nr_valid; in pblk_queue_resubmit()
193 r_ctx->nr_padded = c_ctx->nr_padded; in pblk_queue_resubmit()
200 atomic_long_add(c_ctx->nr_valid, &pblk->recov_writes); in pblk_queue_resubmit()
210 struct pblk_c_ctx *c_ctx = nvm_rq_to_pdu(rqd); in pblk_submit_rec() local
221 pblk_queue_resubmit(pblk, c_ctx); in pblk_submit_rec()
223 pblk_up_rq(pblk, rqd->ppa_list, rqd->nr_ppas, c_ctx->lun_bitmap); in pblk_submit_rec()
224 if (c_ctx->nr_padded) in pblk_submit_rec()
225 pblk_bio_free_pages(pblk, rqd->bio, c_ctx->nr_valid, in pblk_submit_rec()
226 c_ctx->nr_padded); in pblk_submit_rec()
255 struct pblk_c_ctx *c_ctx = nvm_rq_to_pdu(rqd); in pblk_end_io_write() local
266 pblk_complete_write(pblk, rqd, c_ctx); in pblk_end_io_write()
325 struct pblk_c_ctx *c_ctx = nvm_rq_to_pdu(rqd); in pblk_setup_w_rq() local
326 unsigned int valid = c_ctx->nr_valid; in pblk_setup_w_rq()
327 unsigned int padded = c_ctx->nr_padded; in pblk_setup_w_rq()
335 c_ctx->lun_bitmap = lun_bitmap; in pblk_setup_w_rq()
344 pblk_map_rq(pblk, rqd, c_ctx->sentry, lun_bitmap, valid, 0); in pblk_setup_w_rq()
346 pblk_map_erase_rq(pblk, rqd, c_ctx->sentry, lun_bitmap, in pblk_setup_w_rq()
563 struct pblk_c_ctx *c_ctx = nvm_rq_to_pdu(rqd); in pblk_free_write_rqd() local
566 if (c_ctx->nr_padded) in pblk_free_write_rqd()
567 pblk_bio_free_pages(pblk, bio, c_ctx->nr_valid, in pblk_free_write_rqd()
568 c_ctx->nr_padded); in pblk_free_write_rqd()