Lines Matching refs:wr_ctx
189 struct scrub_wr_ctx wr_ctx; member
290 struct scrub_wr_ctx *wr_ctx,
294 static void scrub_free_wr_ctx(struct scrub_wr_ctx *wr_ctx);
420 scrub_free_wr_ctx(&sctx->wr_ctx); in scrub_free_ctx()
512 ret = scrub_setup_wr_ctx(sctx, &sctx->wr_ctx, fs_info, in scrub_setup_ctx()
1706 struct scrub_wr_ctx *wr_ctx = &sctx->wr_ctx; in scrub_add_page_to_wr_bio() local
1710 mutex_lock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1712 if (!wr_ctx->wr_curr_bio) { in scrub_add_page_to_wr_bio()
1713 wr_ctx->wr_curr_bio = kzalloc(sizeof(*wr_ctx->wr_curr_bio), in scrub_add_page_to_wr_bio()
1715 if (!wr_ctx->wr_curr_bio) { in scrub_add_page_to_wr_bio()
1716 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1719 wr_ctx->wr_curr_bio->sctx = sctx; in scrub_add_page_to_wr_bio()
1720 wr_ctx->wr_curr_bio->page_count = 0; in scrub_add_page_to_wr_bio()
1722 sbio = wr_ctx->wr_curr_bio; in scrub_add_page_to_wr_bio()
1728 sbio->dev = wr_ctx->tgtdev; in scrub_add_page_to_wr_bio()
1731 bio = btrfs_io_bio_alloc(GFP_NOFS, wr_ctx->pages_per_wr_bio); in scrub_add_page_to_wr_bio()
1733 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1757 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1767 if (sbio->page_count == wr_ctx->pages_per_wr_bio) in scrub_add_page_to_wr_bio()
1769 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1776 struct scrub_wr_ctx *wr_ctx = &sctx->wr_ctx; in scrub_wr_submit() local
1779 if (!wr_ctx->wr_curr_bio) in scrub_wr_submit()
1782 sbio = wr_ctx->wr_curr_bio; in scrub_wr_submit()
1783 wr_ctx->wr_curr_bio = NULL; in scrub_wr_submit()
2308 atomic_read(&sctx->wr_ctx.flush_all_writes)) { in scrub_bio_end_io_worker()
2309 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_bio_end_io_worker()
2311 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_bio_end_io_worker()
2949 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_raid56_parity()
2951 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_raid56_parity()
3124 atomic_set(&sctx->wr_ctx.flush_all_writes, 1); in scrub_stripe()
3126 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3128 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3131 atomic_set(&sctx->wr_ctx.flush_all_writes, 0); in scrub_stripe()
3312 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3314 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3466 atomic_set(&sctx->wr_ctx.flush_all_writes, 1); in scrub_enumerate_chunks()
3468 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_enumerate_chunks()
3470 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_enumerate_chunks()
3484 atomic_set(&sctx->wr_ctx.flush_all_writes, 0); in scrub_enumerate_chunks()
3865 struct scrub_wr_ctx *wr_ctx, in scrub_setup_wr_ctx() argument
3870 WARN_ON(wr_ctx->wr_curr_bio != NULL); in scrub_setup_wr_ctx()
3872 mutex_init(&wr_ctx->wr_lock); in scrub_setup_wr_ctx()
3873 wr_ctx->wr_curr_bio = NULL; in scrub_setup_wr_ctx()
3878 wr_ctx->pages_per_wr_bio = min_t(int, SCRUB_PAGES_PER_WR_BIO, in scrub_setup_wr_ctx()
3880 wr_ctx->tgtdev = dev; in scrub_setup_wr_ctx()
3881 atomic_set(&wr_ctx->flush_all_writes, 0); in scrub_setup_wr_ctx()
3885 static void scrub_free_wr_ctx(struct scrub_wr_ctx *wr_ctx) in scrub_free_wr_ctx() argument
3887 mutex_lock(&wr_ctx->wr_lock); in scrub_free_wr_ctx()
3888 kfree(wr_ctx->wr_curr_bio); in scrub_free_wr_ctx()
3889 wr_ctx->wr_curr_bio = NULL; in scrub_free_wr_ctx()
3890 mutex_unlock(&wr_ctx->wr_lock); in scrub_free_wr_ctx()
4197 dev = sctx->wr_ctx.tgtdev; in write_page_nocow()