Lines Matching refs:pblk

17  * pblk-rb.c - pblk's write buffer
22 #include "pblk.h"
75 struct pblk *pblk = container_of(rb, struct pblk, rwb);
165 pblk_rl_init(&pblk->rl, rb->nr_entries, threshold);
176 "pblk: overwriting unsubmitted data\n");
239 struct pblk *pblk = container_of(rb, struct pblk, rwb);
257 WARN(1, "pblk: unknown IO type\n");
259 pblk_update_map_dev(pblk, w_ctx->lba, w_ctx->ppa,
262 line = pblk_ppa_to_line(pblk, w_ctx->ppa);
269 pblk_rl_out(&pblk->rl, user_io, gc_io);
340 struct pblk *pblk = container_of(rb, struct pblk, rwb);
353 pblk_update_map_cache(pblk, w_ctx.lba, entry->cacheline);
364 struct pblk *pblk = container_of(rb, struct pblk, rwb);
377 if (!pblk_update_map_gc(pblk, w_ctx.lba, entry->cacheline, line, paddr))
454 struct pblk *pblk = container_of(rb, struct pblk, rwb);
460 pblk_write_kick(pblk);
476 struct pblk *pblk = container_of(rb, struct pblk, rwb);
478 atomic64_inc(&pblk->nr_flush);
479 if (pblk_rb_flush_point_set(&pblk->rwb, bio, mem))
497 struct pblk *pblk = container_of(rb, struct pblk, rwb);
501 io_ret = pblk_rl_user_may_insert(&pblk->rl, nr_entries);
512 pblk_rl_user_in(&pblk->rl, nr_entries);
524 struct pblk *pblk = container_of(rb, struct pblk, rwb);
527 if (!pblk_rl_gc_may_insert(&pblk->rl, nr_entries)) {
537 pblk_rl_gc_in(&pblk->rl, nr_entries);
554 struct pblk *pblk = container_of(rb, struct pblk, rwb);
555 struct request_queue *q = pblk->dev->q;
570 pad += (pblk->min_write_pgs - pblk->min_write_pgs_data);
591 pblk_err(pblk, "could not allocate write bio page\n");
601 pblk_err(pblk, "could not add page to write bio\n");
619 if (pblk_bio_add_pages(pblk, bio, GFP_KERNEL, pad)) {
620 pblk_err(pblk, "could not pad page in write bio\n");
624 if (pad < pblk->min_write_pgs)
625 atomic64_inc(&pblk->pad_dist[pad - 1]);
627 pblk_warn(pblk, "padding more than min. sectors\n");
629 atomic64_add(pad, &pblk->pad_wa);
633 atomic_long_add(pad, &pblk->padded_writes);
647 struct pblk *pblk = container_of(rb, struct pblk, rwb);
666 spin_lock(&pblk->trans_lock);
667 l2p_ppa = pblk_trans_map_get(pblk, lba);
668 spin_unlock(&pblk->trans_lock);
811 struct pblk *pblk = container_of(rb, struct pblk, rwb);
817 list_for_each_entry(c, &pblk->compl_list, list)