Lines Matching refs:pblk
16 * pblk-cache.c - pblk's write cache
19 #include "pblk.h"
21 void pblk_write_to_cache(struct pblk *pblk, struct bio *bio,
38 ret = pblk_rb_may_write_user(&pblk->rwb, bio, nr_entries, &bpos);
44 pblk_pipeline_stop(pblk);
53 pblk_write_kick(pblk);
64 pos = pblk_rb_wrap_pos(&pblk->rwb, bpos + i);
65 pblk_rb_write_entry_user(&pblk->rwb, data, w_ctx, pos);
70 atomic64_add(nr_entries, &pblk->user_wa);
73 atomic_long_add(nr_entries, &pblk->inflight_writes);
74 atomic_long_add(nr_entries, &pblk->req_writes);
77 pblk_rl_inserted(&pblk->rl, nr_entries);
81 pblk_write_should_kick(pblk);
91 int pblk_write_gc_to_cache(struct pblk *pblk, struct pblk_gc_rq *gc_rq)
103 if (!pblk_rb_may_write_gc(&pblk->rwb, gc_rq->secs_to_gc, &bpos)) {
117 pos = pblk_rb_wrap_pos(&pblk->rwb, bpos + valid_entries);
118 pblk_rb_write_entry_gc(&pblk->rwb, data, w_ctx, gc_rq->line,
126 "pblk: inconsistent GC write\n");
128 atomic64_add(valid_entries, &pblk->gc_wa);
131 atomic_long_add(valid_entries, &pblk->inflight_writes);
132 atomic_long_add(valid_entries, &pblk->recov_gc_writes);
135 pblk_write_should_kick(pblk);