Lines Matching refs:w_ctx
141 entry->w_ctx.flags = PBLK_WRITABLE_ENTRY;
148 entry->w_ctx.flags = PBLK_WRITABLE_ENTRY;
149 bio_list_init(&entry->w_ctx.bios);
170 static void clean_wctx(struct pblk_w_ctx *w_ctx)
174 flags = READ_ONCE(w_ctx->flags);
179 smp_store_release(&w_ctx->flags, PBLK_WRITABLE_ENTRY);
180 pblk_ppa_set_empty(&w_ctx->ppa);
181 w_ctx->lba = ADDR_EMPTY;
242 struct pblk_w_ctx *w_ctx;
249 w_ctx = &entry->w_ctx;
251 flags = READ_ONCE(entry->w_ctx.flags);
259 pblk_update_map_dev(pblk, w_ctx->lba, w_ctx->ppa,
262 line = pblk_ppa_to_line(pblk, w_ctx->ppa);
265 clean_wctx(w_ctx);
328 struct pblk_w_ctx w_ctx,
333 entry->w_ctx.lba = w_ctx.lba;
334 entry->w_ctx.ppa = w_ctx.ppa;
338 struct pblk_w_ctx w_ctx, unsigned int ring_pos)
345 flags = READ_ONCE(entry->w_ctx.flags);
351 __pblk_rb_write_entry(rb, data, w_ctx, entry);
353 pblk_update_map_cache(pblk, w_ctx.lba, entry->cacheline);
354 flags = w_ctx.flags | PBLK_WRITTEN_DATA;
357 smp_store_release(&entry->w_ctx.flags, flags);
361 struct pblk_w_ctx w_ctx, struct pblk_line *line,
369 flags = READ_ONCE(entry->w_ctx.flags);
375 __pblk_rb_write_entry(rb, data, w_ctx, entry);
377 if (!pblk_update_map_gc(pblk, w_ctx.lba, entry->cacheline, line, paddr))
378 entry->w_ctx.lba = ADDR_EMPTY;
380 flags = w_ctx.flags | PBLK_WRITTEN_DATA;
383 smp_store_release(&entry->w_ctx.flags, flags);
411 bio_list_add(&entry->w_ctx.bios, bio);
583 flags = READ_ONCE(entry->w_ctx.flags);
595 smp_store_release(&entry->w_ctx.flags, flags);
605 smp_store_release(&entry->w_ctx.flags, flags);
613 smp_store_release(&entry->w_ctx.flags, flags);
649 struct pblk_w_ctx *w_ctx;
662 w_ctx = &entry->w_ctx;
663 flags = READ_ONCE(w_ctx->flags);
671 if (!pblk_ppa_comp(l2p_ppa, ppa) || w_ctx->lba != lba ||
688 return &rb->entries[entry].w_ctx;