Loading drivers/lightnvm/pblk-core.c +15 −15 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ static void pblk_line_mark_bb(struct work_struct *work) } kfree(ppa); mempool_free(line_ws, pblk->gen_ws_pool); mempool_free(line_ws, &pblk->gen_ws_pool); } static void pblk_mark_bb(struct pblk *pblk, struct pblk_line *line, Loading Loading @@ -102,7 +102,7 @@ static void pblk_end_io_erase(struct nvm_rq *rqd) struct pblk *pblk = rqd->private; __pblk_end_io_erase(pblk, rqd); mempool_free(rqd, pblk->e_rq_pool); mempool_free(rqd, &pblk->e_rq_pool); } /* Loading Loading @@ -237,15 +237,15 @@ struct nvm_rq *pblk_alloc_rqd(struct pblk *pblk, int type) switch (type) { case PBLK_WRITE: case PBLK_WRITE_INT: pool = pblk->w_rq_pool; pool = &pblk->w_rq_pool; rq_size = pblk_w_rq_size; break; case PBLK_READ: pool = pblk->r_rq_pool; pool = &pblk->r_rq_pool; rq_size = pblk_g_rq_size; break; default: pool = pblk->e_rq_pool; pool = &pblk->e_rq_pool; rq_size = pblk_g_rq_size; } Loading @@ -265,13 +265,13 @@ void pblk_free_rqd(struct pblk *pblk, struct nvm_rq *rqd, int type) case PBLK_WRITE: kfree(((struct pblk_c_ctx *)nvm_rq_to_pdu(rqd))->lun_bitmap); case PBLK_WRITE_INT: pool = pblk->w_rq_pool; pool = &pblk->w_rq_pool; break; case PBLK_READ: pool = pblk->r_rq_pool; pool = &pblk->r_rq_pool; break; case PBLK_ERASE: pool = pblk->e_rq_pool; pool = &pblk->e_rq_pool; break; default: pr_err("pblk: trying to free unknown rqd type\n"); Loading @@ -292,7 +292,7 @@ void pblk_bio_free_pages(struct pblk *pblk, struct bio *bio, int off, for (i = off; i < nr_pages + off; i++) { bv = bio->bi_io_vec[i]; mempool_free(bv.bv_page, pblk->page_bio_pool); mempool_free(bv.bv_page, &pblk->page_bio_pool); } } Loading @@ -304,12 +304,12 @@ int pblk_bio_add_pages(struct pblk *pblk, struct bio *bio, gfp_t flags, int i, ret; for (i = 0; i < nr_pages; i++) { page = mempool_alloc(pblk->page_bio_pool, flags); page = mempool_alloc(&pblk->page_bio_pool, flags); ret = bio_add_pc_page(q, bio, page, PBLK_EXPOSED_PAGE_SIZE, 0); if (ret != PBLK_EXPOSED_PAGE_SIZE) { pr_err("pblk: could not add page to bio\n"); mempool_free(page, pblk->page_bio_pool); mempool_free(page, &pblk->page_bio_pool); goto err; } } Loading Loading @@ -1593,7 +1593,7 @@ static void pblk_line_put_ws(struct work_struct *work) struct pblk_line *line = line_put_ws->line; __pblk_line_put(pblk, line); mempool_free(line_put_ws, pblk->gen_ws_pool); mempool_free(line_put_ws, &pblk->gen_ws_pool); } void pblk_line_put(struct kref *ref) Loading @@ -1610,7 +1610,7 @@ void pblk_line_put_wq(struct kref *ref) struct pblk *pblk = line->pblk; struct pblk_line_ws *line_put_ws; line_put_ws = mempool_alloc(pblk->gen_ws_pool, GFP_ATOMIC); line_put_ws = mempool_alloc(&pblk->gen_ws_pool, GFP_ATOMIC); if (!line_put_ws) return; Loading Loading @@ -1752,7 +1752,7 @@ void pblk_line_close_ws(struct work_struct *work) struct pblk_line *line = line_ws->line; pblk_line_close(pblk, line); mempool_free(line_ws, pblk->gen_ws_pool); mempool_free(line_ws, &pblk->gen_ws_pool); } void pblk_gen_run_ws(struct pblk *pblk, struct pblk_line *line, void *priv, Loading @@ -1761,7 +1761,7 @@ void pblk_gen_run_ws(struct pblk *pblk, struct pblk_line *line, void *priv, { struct pblk_line_ws *line_ws; line_ws = mempool_alloc(pblk->gen_ws_pool, gfp_mask); line_ws = mempool_alloc(&pblk->gen_ws_pool, gfp_mask); line_ws->pblk = pblk; line_ws->line = line; Loading drivers/lightnvm/pblk-init.c +36 −36 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ static struct kmem_cache *pblk_ws_cache, *pblk_rec_cache, *pblk_g_rq_cache, *pblk_w_rq_cache; static DECLARE_RWSEM(pblk_lock); struct bio_set *pblk_bio_set; struct bio_set pblk_bio_set; static int pblk_rw_io(struct request_queue *q, struct pblk *pblk, struct bio *bio) Loading Loading @@ -341,7 +341,7 @@ static int pblk_core_init(struct pblk *pblk) { struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; int max_write_ppas; int ret, max_write_ppas; atomic64_set(&pblk->user_wa, 0); atomic64_set(&pblk->pad_wa, 0); Loading Loading @@ -375,33 +375,33 @@ static int pblk_core_init(struct pblk *pblk) goto fail_free_pad_dist; /* Internal bios can be at most the sectors signaled by the device. */ pblk->page_bio_pool = mempool_create_page_pool(NVM_MAX_VLBA, 0); if (!pblk->page_bio_pool) ret = mempool_init_page_pool(&pblk->page_bio_pool, NVM_MAX_VLBA, 0); if (ret) goto free_global_caches; pblk->gen_ws_pool = mempool_create_slab_pool(PBLK_GEN_WS_POOL_SIZE, ret = mempool_init_slab_pool(&pblk->gen_ws_pool, PBLK_GEN_WS_POOL_SIZE, pblk_ws_cache); if (!pblk->gen_ws_pool) if (ret) goto free_page_bio_pool; pblk->rec_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->rec_pool, geo->all_luns, pblk_rec_cache); if (!pblk->rec_pool) if (ret) goto free_gen_ws_pool; pblk->r_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->r_rq_pool, geo->all_luns, pblk_g_rq_cache); if (!pblk->r_rq_pool) if (ret) goto free_rec_pool; pblk->e_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->e_rq_pool, geo->all_luns, pblk_g_rq_cache); if (!pblk->e_rq_pool) if (ret) goto free_r_rq_pool; pblk->w_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->w_rq_pool, geo->all_luns, pblk_w_rq_cache); if (!pblk->w_rq_pool) if (ret) goto free_e_rq_pool; pblk->close_wq = alloc_workqueue("pblk-close-wq", Loading Loading @@ -433,17 +433,17 @@ static int pblk_core_init(struct pblk *pblk) free_close_wq: destroy_workqueue(pblk->close_wq); free_w_rq_pool: mempool_destroy(pblk->w_rq_pool); mempool_exit(&pblk->w_rq_pool); free_e_rq_pool: mempool_destroy(pblk->e_rq_pool); mempool_exit(&pblk->e_rq_pool); free_r_rq_pool: mempool_destroy(pblk->r_rq_pool); mempool_exit(&pblk->r_rq_pool); free_rec_pool: mempool_destroy(pblk->rec_pool); mempool_exit(&pblk->rec_pool); free_gen_ws_pool: mempool_destroy(pblk->gen_ws_pool); mempool_exit(&pblk->gen_ws_pool); free_page_bio_pool: mempool_destroy(pblk->page_bio_pool); mempool_exit(&pblk->page_bio_pool); free_global_caches: pblk_free_global_caches(pblk); fail_free_pad_dist: Loading @@ -462,12 +462,12 @@ static void pblk_core_free(struct pblk *pblk) if (pblk->bb_wq) destroy_workqueue(pblk->bb_wq); mempool_destroy(pblk->page_bio_pool); mempool_destroy(pblk->gen_ws_pool); mempool_destroy(pblk->rec_pool); mempool_destroy(pblk->r_rq_pool); mempool_destroy(pblk->e_rq_pool); mempool_destroy(pblk->w_rq_pool); mempool_exit(&pblk->page_bio_pool); mempool_exit(&pblk->gen_ws_pool); mempool_exit(&pblk->rec_pool); mempool_exit(&pblk->r_rq_pool); mempool_exit(&pblk->e_rq_pool); mempool_exit(&pblk->w_rq_pool); pblk_free_global_caches(pblk); kfree(pblk->pad_dist); Loading Loading @@ -1297,18 +1297,18 @@ static int __init pblk_module_init(void) { int ret; pblk_bio_set = bioset_create(BIO_POOL_SIZE, 0, 0); if (!pblk_bio_set) return -ENOMEM; ret = bioset_init(&pblk_bio_set, BIO_POOL_SIZE, 0, 0); if (ret) return ret; ret = nvm_register_tgt_type(&tt_pblk); if (ret) bioset_free(pblk_bio_set); bioset_exit(&pblk_bio_set); return ret; } static void pblk_module_exit(void) { bioset_free(pblk_bio_set); bioset_exit(&pblk_bio_set); nvm_unregister_tgt_type(&tt_pblk); } Loading drivers/lightnvm/pblk-read.c +2 −2 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ static int pblk_partial_read_bio(struct pblk *pblk, struct nvm_rq *rqd, kunmap_atomic(src_p); kunmap_atomic(dst_p); mempool_free(src_bv.bv_page, pblk->page_bio_pool); mempool_free(src_bv.bv_page, &pblk->page_bio_pool); hole = find_next_zero_bit(read_bitmap, nr_secs, hole + 1); } while (hole < nr_secs); Loading Loading @@ -429,7 +429,7 @@ int pblk_submit_read(struct pblk *pblk, struct bio *bio) struct bio *int_bio = NULL; /* Clone read bio to deal with read errors internally */ int_bio = bio_clone_fast(bio, GFP_KERNEL, pblk_bio_set); int_bio = bio_clone_fast(bio, GFP_KERNEL, &pblk_bio_set); if (!int_bio) { pr_err("pblk: could not clone read bio\n"); goto fail_end_io; Loading drivers/lightnvm/pblk-recovery.c +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ void pblk_submit_rec(struct work_struct *work) goto err; } mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); return; err: Loading drivers/lightnvm/pblk-write.c +4 −4 Original line number Diff line number Diff line Loading @@ -122,7 +122,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) if (unlikely(nr_ppas == 1)) ppa_list = &rqd->ppa_addr; recovery = mempool_alloc(pblk->rec_pool, GFP_ATOMIC); recovery = mempool_alloc(&pblk->rec_pool, GFP_ATOMIC); INIT_LIST_HEAD(&recovery->failed); Loading @@ -134,7 +134,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) /* Logic error */ if (bit > c_ctx->nr_valid) { WARN_ONCE(1, "pblk: corrupted write request\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading @@ -142,7 +142,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) entry = pblk_rb_sync_scan_entry(&pblk->rwb, &ppa); if (!entry) { pr_err("pblk: could not scan entry on write failure\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading @@ -156,7 +156,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) ret = pblk_recov_setup_rq(pblk, c_ctx, recovery, comp_bits, c_entries); if (ret) { pr_err("pblk: could not recover from write failure\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading Loading
drivers/lightnvm/pblk-core.c +15 −15 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ static void pblk_line_mark_bb(struct work_struct *work) } kfree(ppa); mempool_free(line_ws, pblk->gen_ws_pool); mempool_free(line_ws, &pblk->gen_ws_pool); } static void pblk_mark_bb(struct pblk *pblk, struct pblk_line *line, Loading Loading @@ -102,7 +102,7 @@ static void pblk_end_io_erase(struct nvm_rq *rqd) struct pblk *pblk = rqd->private; __pblk_end_io_erase(pblk, rqd); mempool_free(rqd, pblk->e_rq_pool); mempool_free(rqd, &pblk->e_rq_pool); } /* Loading Loading @@ -237,15 +237,15 @@ struct nvm_rq *pblk_alloc_rqd(struct pblk *pblk, int type) switch (type) { case PBLK_WRITE: case PBLK_WRITE_INT: pool = pblk->w_rq_pool; pool = &pblk->w_rq_pool; rq_size = pblk_w_rq_size; break; case PBLK_READ: pool = pblk->r_rq_pool; pool = &pblk->r_rq_pool; rq_size = pblk_g_rq_size; break; default: pool = pblk->e_rq_pool; pool = &pblk->e_rq_pool; rq_size = pblk_g_rq_size; } Loading @@ -265,13 +265,13 @@ void pblk_free_rqd(struct pblk *pblk, struct nvm_rq *rqd, int type) case PBLK_WRITE: kfree(((struct pblk_c_ctx *)nvm_rq_to_pdu(rqd))->lun_bitmap); case PBLK_WRITE_INT: pool = pblk->w_rq_pool; pool = &pblk->w_rq_pool; break; case PBLK_READ: pool = pblk->r_rq_pool; pool = &pblk->r_rq_pool; break; case PBLK_ERASE: pool = pblk->e_rq_pool; pool = &pblk->e_rq_pool; break; default: pr_err("pblk: trying to free unknown rqd type\n"); Loading @@ -292,7 +292,7 @@ void pblk_bio_free_pages(struct pblk *pblk, struct bio *bio, int off, for (i = off; i < nr_pages + off; i++) { bv = bio->bi_io_vec[i]; mempool_free(bv.bv_page, pblk->page_bio_pool); mempool_free(bv.bv_page, &pblk->page_bio_pool); } } Loading @@ -304,12 +304,12 @@ int pblk_bio_add_pages(struct pblk *pblk, struct bio *bio, gfp_t flags, int i, ret; for (i = 0; i < nr_pages; i++) { page = mempool_alloc(pblk->page_bio_pool, flags); page = mempool_alloc(&pblk->page_bio_pool, flags); ret = bio_add_pc_page(q, bio, page, PBLK_EXPOSED_PAGE_SIZE, 0); if (ret != PBLK_EXPOSED_PAGE_SIZE) { pr_err("pblk: could not add page to bio\n"); mempool_free(page, pblk->page_bio_pool); mempool_free(page, &pblk->page_bio_pool); goto err; } } Loading Loading @@ -1593,7 +1593,7 @@ static void pblk_line_put_ws(struct work_struct *work) struct pblk_line *line = line_put_ws->line; __pblk_line_put(pblk, line); mempool_free(line_put_ws, pblk->gen_ws_pool); mempool_free(line_put_ws, &pblk->gen_ws_pool); } void pblk_line_put(struct kref *ref) Loading @@ -1610,7 +1610,7 @@ void pblk_line_put_wq(struct kref *ref) struct pblk *pblk = line->pblk; struct pblk_line_ws *line_put_ws; line_put_ws = mempool_alloc(pblk->gen_ws_pool, GFP_ATOMIC); line_put_ws = mempool_alloc(&pblk->gen_ws_pool, GFP_ATOMIC); if (!line_put_ws) return; Loading Loading @@ -1752,7 +1752,7 @@ void pblk_line_close_ws(struct work_struct *work) struct pblk_line *line = line_ws->line; pblk_line_close(pblk, line); mempool_free(line_ws, pblk->gen_ws_pool); mempool_free(line_ws, &pblk->gen_ws_pool); } void pblk_gen_run_ws(struct pblk *pblk, struct pblk_line *line, void *priv, Loading @@ -1761,7 +1761,7 @@ void pblk_gen_run_ws(struct pblk *pblk, struct pblk_line *line, void *priv, { struct pblk_line_ws *line_ws; line_ws = mempool_alloc(pblk->gen_ws_pool, gfp_mask); line_ws = mempool_alloc(&pblk->gen_ws_pool, gfp_mask); line_ws->pblk = pblk; line_ws->line = line; Loading
drivers/lightnvm/pblk-init.c +36 −36 Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ static struct kmem_cache *pblk_ws_cache, *pblk_rec_cache, *pblk_g_rq_cache, *pblk_w_rq_cache; static DECLARE_RWSEM(pblk_lock); struct bio_set *pblk_bio_set; struct bio_set pblk_bio_set; static int pblk_rw_io(struct request_queue *q, struct pblk *pblk, struct bio *bio) Loading Loading @@ -341,7 +341,7 @@ static int pblk_core_init(struct pblk *pblk) { struct nvm_tgt_dev *dev = pblk->dev; struct nvm_geo *geo = &dev->geo; int max_write_ppas; int ret, max_write_ppas; atomic64_set(&pblk->user_wa, 0); atomic64_set(&pblk->pad_wa, 0); Loading Loading @@ -375,33 +375,33 @@ static int pblk_core_init(struct pblk *pblk) goto fail_free_pad_dist; /* Internal bios can be at most the sectors signaled by the device. */ pblk->page_bio_pool = mempool_create_page_pool(NVM_MAX_VLBA, 0); if (!pblk->page_bio_pool) ret = mempool_init_page_pool(&pblk->page_bio_pool, NVM_MAX_VLBA, 0); if (ret) goto free_global_caches; pblk->gen_ws_pool = mempool_create_slab_pool(PBLK_GEN_WS_POOL_SIZE, ret = mempool_init_slab_pool(&pblk->gen_ws_pool, PBLK_GEN_WS_POOL_SIZE, pblk_ws_cache); if (!pblk->gen_ws_pool) if (ret) goto free_page_bio_pool; pblk->rec_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->rec_pool, geo->all_luns, pblk_rec_cache); if (!pblk->rec_pool) if (ret) goto free_gen_ws_pool; pblk->r_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->r_rq_pool, geo->all_luns, pblk_g_rq_cache); if (!pblk->r_rq_pool) if (ret) goto free_rec_pool; pblk->e_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->e_rq_pool, geo->all_luns, pblk_g_rq_cache); if (!pblk->e_rq_pool) if (ret) goto free_r_rq_pool; pblk->w_rq_pool = mempool_create_slab_pool(geo->all_luns, ret = mempool_init_slab_pool(&pblk->w_rq_pool, geo->all_luns, pblk_w_rq_cache); if (!pblk->w_rq_pool) if (ret) goto free_e_rq_pool; pblk->close_wq = alloc_workqueue("pblk-close-wq", Loading Loading @@ -433,17 +433,17 @@ static int pblk_core_init(struct pblk *pblk) free_close_wq: destroy_workqueue(pblk->close_wq); free_w_rq_pool: mempool_destroy(pblk->w_rq_pool); mempool_exit(&pblk->w_rq_pool); free_e_rq_pool: mempool_destroy(pblk->e_rq_pool); mempool_exit(&pblk->e_rq_pool); free_r_rq_pool: mempool_destroy(pblk->r_rq_pool); mempool_exit(&pblk->r_rq_pool); free_rec_pool: mempool_destroy(pblk->rec_pool); mempool_exit(&pblk->rec_pool); free_gen_ws_pool: mempool_destroy(pblk->gen_ws_pool); mempool_exit(&pblk->gen_ws_pool); free_page_bio_pool: mempool_destroy(pblk->page_bio_pool); mempool_exit(&pblk->page_bio_pool); free_global_caches: pblk_free_global_caches(pblk); fail_free_pad_dist: Loading @@ -462,12 +462,12 @@ static void pblk_core_free(struct pblk *pblk) if (pblk->bb_wq) destroy_workqueue(pblk->bb_wq); mempool_destroy(pblk->page_bio_pool); mempool_destroy(pblk->gen_ws_pool); mempool_destroy(pblk->rec_pool); mempool_destroy(pblk->r_rq_pool); mempool_destroy(pblk->e_rq_pool); mempool_destroy(pblk->w_rq_pool); mempool_exit(&pblk->page_bio_pool); mempool_exit(&pblk->gen_ws_pool); mempool_exit(&pblk->rec_pool); mempool_exit(&pblk->r_rq_pool); mempool_exit(&pblk->e_rq_pool); mempool_exit(&pblk->w_rq_pool); pblk_free_global_caches(pblk); kfree(pblk->pad_dist); Loading Loading @@ -1297,18 +1297,18 @@ static int __init pblk_module_init(void) { int ret; pblk_bio_set = bioset_create(BIO_POOL_SIZE, 0, 0); if (!pblk_bio_set) return -ENOMEM; ret = bioset_init(&pblk_bio_set, BIO_POOL_SIZE, 0, 0); if (ret) return ret; ret = nvm_register_tgt_type(&tt_pblk); if (ret) bioset_free(pblk_bio_set); bioset_exit(&pblk_bio_set); return ret; } static void pblk_module_exit(void) { bioset_free(pblk_bio_set); bioset_exit(&pblk_bio_set); nvm_unregister_tgt_type(&tt_pblk); } Loading
drivers/lightnvm/pblk-read.c +2 −2 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ static int pblk_partial_read_bio(struct pblk *pblk, struct nvm_rq *rqd, kunmap_atomic(src_p); kunmap_atomic(dst_p); mempool_free(src_bv.bv_page, pblk->page_bio_pool); mempool_free(src_bv.bv_page, &pblk->page_bio_pool); hole = find_next_zero_bit(read_bitmap, nr_secs, hole + 1); } while (hole < nr_secs); Loading Loading @@ -429,7 +429,7 @@ int pblk_submit_read(struct pblk *pblk, struct bio *bio) struct bio *int_bio = NULL; /* Clone read bio to deal with read errors internally */ int_bio = bio_clone_fast(bio, GFP_KERNEL, pblk_bio_set); int_bio = bio_clone_fast(bio, GFP_KERNEL, &pblk_bio_set); if (!int_bio) { pr_err("pblk: could not clone read bio\n"); goto fail_end_io; Loading
drivers/lightnvm/pblk-recovery.c +1 −1 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ void pblk_submit_rec(struct work_struct *work) goto err; } mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); return; err: Loading
drivers/lightnvm/pblk-write.c +4 −4 Original line number Diff line number Diff line Loading @@ -122,7 +122,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) if (unlikely(nr_ppas == 1)) ppa_list = &rqd->ppa_addr; recovery = mempool_alloc(pblk->rec_pool, GFP_ATOMIC); recovery = mempool_alloc(&pblk->rec_pool, GFP_ATOMIC); INIT_LIST_HEAD(&recovery->failed); Loading @@ -134,7 +134,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) /* Logic error */ if (bit > c_ctx->nr_valid) { WARN_ONCE(1, "pblk: corrupted write request\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading @@ -142,7 +142,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) entry = pblk_rb_sync_scan_entry(&pblk->rwb, &ppa); if (!entry) { pr_err("pblk: could not scan entry on write failure\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading @@ -156,7 +156,7 @@ static void pblk_end_w_fail(struct pblk *pblk, struct nvm_rq *rqd) ret = pblk_recov_setup_rq(pblk, c_ctx, recovery, comp_bits, c_entries); if (ret) { pr_err("pblk: could not recover from write failure\n"); mempool_free(recovery, pblk->rec_pool); mempool_free(recovery, &pblk->rec_pool); goto out; } Loading