We don't need to take the mutex and zero out wr_cur_bio, as this is called after the scrub finished.
Signed-off-by: David Sterba <dste...@suse.com> --- fs/btrfs/scrub.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 43c208dff67f..333f63a59059 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -639,11 +639,6 @@ static noinline_for_stack void scrub_free_ctx(struct scrub_ctx *sctx) if (!sctx) return; - mutex_lock(&sctx->wr_ctx.wr_lock); - kfree(sctx->wr_ctx.wr_curr_bio); - sctx->wr_ctx.wr_curr_bio = NULL; - mutex_unlock(&sctx->wr_ctx.wr_lock); - /* this can happen when scrub is cancelled */ if (sctx->curr != -1) { struct scrub_bio *sbio = sctx->bios[sctx->curr]; @@ -663,6 +658,7 @@ static noinline_for_stack void scrub_free_ctx(struct scrub_ctx *sctx) kfree(sbio); } + kfree(sctx->wr_ctx.wr_curr_bio); scrub_free_csums(sctx); kfree(sctx); } -- 2.12.0 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html