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

Reply via email to