btrfs: scrub: simplify cleanup of wr_ctx in scrub_free_ctx

We don't need to take the mutex and zero out wr_cur_bio, as this is
called after the scrub finished.

Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2017-05-16 19:10:29 +02:00
parent e241ddeb9c
commit 4e2814ef04

View File

@ -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);
}