Lines Matching refs:wr_ctx
190 struct scrub_wr_ctx wr_ctx; member
286 struct scrub_wr_ctx *wr_ctx,
290 static void scrub_free_wr_ctx(struct scrub_wr_ctx *wr_ctx);
425 scrub_free_wr_ctx(&sctx->wr_ctx); in scrub_free_ctx()
504 ret = scrub_setup_wr_ctx(sctx, &sctx->wr_ctx, fs_info, in scrub_setup_ctx()
1651 struct scrub_wr_ctx *wr_ctx = &sctx->wr_ctx; in scrub_add_page_to_wr_bio() local
1655 mutex_lock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1657 if (!wr_ctx->wr_curr_bio) { in scrub_add_page_to_wr_bio()
1658 wr_ctx->wr_curr_bio = kzalloc(sizeof(*wr_ctx->wr_curr_bio), in scrub_add_page_to_wr_bio()
1660 if (!wr_ctx->wr_curr_bio) { in scrub_add_page_to_wr_bio()
1661 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1664 wr_ctx->wr_curr_bio->sctx = sctx; in scrub_add_page_to_wr_bio()
1665 wr_ctx->wr_curr_bio->page_count = 0; in scrub_add_page_to_wr_bio()
1667 sbio = wr_ctx->wr_curr_bio; in scrub_add_page_to_wr_bio()
1673 sbio->dev = wr_ctx->tgtdev; in scrub_add_page_to_wr_bio()
1676 bio = btrfs_io_bio_alloc(GFP_NOFS, wr_ctx->pages_per_wr_bio); in scrub_add_page_to_wr_bio()
1678 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1702 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1712 if (sbio->page_count == wr_ctx->pages_per_wr_bio) in scrub_add_page_to_wr_bio()
1714 mutex_unlock(&wr_ctx->wr_lock); in scrub_add_page_to_wr_bio()
1721 struct scrub_wr_ctx *wr_ctx = &sctx->wr_ctx; in scrub_wr_submit() local
1724 if (!wr_ctx->wr_curr_bio) in scrub_wr_submit()
1727 sbio = wr_ctx->wr_curr_bio; in scrub_wr_submit()
1728 wr_ctx->wr_curr_bio = NULL; in scrub_wr_submit()
2167 atomic_read(&sctx->wr_ctx.flush_all_writes)) { in scrub_missing_raid56_worker()
2168 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_missing_raid56_worker()
2170 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_missing_raid56_worker()
2373 atomic_read(&sctx->wr_ctx.flush_all_writes)) { in scrub_bio_end_io_worker()
2374 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_bio_end_io_worker()
2376 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_bio_end_io_worker()
3048 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_raid56_parity()
3050 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_raid56_parity()
3207 atomic_set(&sctx->wr_ctx.flush_all_writes, 1); in scrub_stripe()
3209 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3211 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3214 atomic_set(&sctx->wr_ctx.flush_all_writes, 0); in scrub_stripe()
3422 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3424 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_stripe()
3619 atomic_set(&sctx->wr_ctx.flush_all_writes, 1); in scrub_enumerate_chunks()
3621 mutex_lock(&sctx->wr_ctx.wr_lock); in scrub_enumerate_chunks()
3623 mutex_unlock(&sctx->wr_ctx.wr_lock); in scrub_enumerate_chunks()
3637 atomic_set(&sctx->wr_ctx.flush_all_writes, 0); in scrub_enumerate_chunks()
4044 struct scrub_wr_ctx *wr_ctx, in scrub_setup_wr_ctx() argument
4049 WARN_ON(wr_ctx->wr_curr_bio != NULL); in scrub_setup_wr_ctx()
4051 mutex_init(&wr_ctx->wr_lock); in scrub_setup_wr_ctx()
4052 wr_ctx->wr_curr_bio = NULL; in scrub_setup_wr_ctx()
4057 wr_ctx->pages_per_wr_bio = SCRUB_PAGES_PER_WR_BIO; in scrub_setup_wr_ctx()
4058 wr_ctx->tgtdev = dev; in scrub_setup_wr_ctx()
4059 atomic_set(&wr_ctx->flush_all_writes, 0); in scrub_setup_wr_ctx()
4063 static void scrub_free_wr_ctx(struct scrub_wr_ctx *wr_ctx) in scrub_free_wr_ctx() argument
4065 mutex_lock(&wr_ctx->wr_lock); in scrub_free_wr_ctx()
4066 kfree(wr_ctx->wr_curr_bio); in scrub_free_wr_ctx()
4067 wr_ctx->wr_curr_bio = NULL; in scrub_free_wr_ctx()
4068 mutex_unlock(&wr_ctx->wr_lock); in scrub_free_wr_ctx()
4375 dev = sctx->wr_ctx.tgtdev; in write_page_nocow()