btrfs: check-integrity: drop kmap/kunmap for block pages
authorDavid Sterba <dsterba@suse.com>
Tue, 15 Jun 2021 15:15:38 +0000 (17:15 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Aug 2021 11:19:00 +0000 (13:19 +0200)
The pages in block_ctx have never been allocated from highmem (in
btrfsic_read_block) so the mapping is pointless and can be removed.

Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/check-integrity.c

index 9cd88dfc5f8a9aabe797567c96e3aa72b4f89cbf..86816088927f158488ad62659fed43b150c11a59 100644 (file)
@@ -1509,10 +1509,8 @@ static void btrfsic_release_block_ctx(struct btrfsic_block_data_ctx *block_ctx)
                /* Pages must be unmapped in reverse order */
                while (num_pages > 0) {
                        num_pages--;
-                       if (block_ctx->datav[num_pages]) {
-                               kunmap_local(block_ctx->datav[num_pages]);
+                       if (block_ctx->datav[num_pages])
                                block_ctx->datav[num_pages] = NULL;
-                       }
                        if (block_ctx->pagev[num_pages]) {
                                __free_page(block_ctx->pagev[num_pages]);
                                block_ctx->pagev[num_pages] = NULL;
@@ -1589,7 +1587,7 @@ static int btrfsic_read_block(struct btrfsic_state *state,
                i = j;
        }
        for (i = 0; i < num_pages; i++)
-               block_ctx->datav[i] = kmap_local_page(block_ctx->pagev[i]);
+               block_ctx->datav[i] = page_address(block_ctx->pagev[i]);
 
        return block_ctx->len;
 }
@@ -2654,7 +2652,7 @@ static void __btrfsic_submit_bio(struct bio *bio)
 
                bio_for_each_segment(bvec, bio, iter) {
                        BUG_ON(bvec.bv_len != PAGE_SIZE);
-                       mapped_datav[i] = kmap_local_page(bvec.bv_page);
+                       mapped_datav[i] = page_address(bvec.bv_page);
                        i++;
 
                        if (dev_state->state->print_mask &
@@ -2667,9 +2665,6 @@ static void __btrfsic_submit_bio(struct bio *bio)
                                              mapped_datav, segs,
                                              bio, &bio_is_patched,
                                              bio->bi_opf);
-               /* Unmap in reverse order */
-               for (--i; i >= 0; i--)
-                       kunmap_local(mapped_datav[i]);
                kfree(mapped_datav);
        } else if (NULL != dev_state && (bio->bi_opf & REQ_PREFLUSH)) {
                if (dev_state->state->print_mask &