diff mbox series

[4/9] btrfs: scrub: remove temporary csum array in scrub_checksum_super

Message ID 7ca5ac5d2811aa8c5bbd9591cb9aa777d1c6377a.1591024792.git.dsterba@suse.com (mailing list archive)
State New, archived
Headers show
Series Scrub cleanups | expand

Commit Message

David Sterba June 1, 2020, 3:23 p.m. UTC
The page contents with the checksum is available during the entire
function so we don't need to make a copy.

Signed-off-by: David Sterba <dsterba@suse.com>
---
 fs/btrfs/scrub.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 13ee43f29751..abb39c5255d2 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -1904,7 +1904,6 @@  static int scrub_checksum_super(struct scrub_block *sblock)
 	struct btrfs_fs_info *fs_info = sctx->fs_info;
 	SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
 	u8 calculated_csum[BTRFS_CSUM_SIZE];
-	u8 on_disk_csum[BTRFS_CSUM_SIZE];
 	struct page *page;
 	char *kaddr;
 	int fail_gen = 0;
@@ -1914,7 +1913,6 @@  static int scrub_checksum_super(struct scrub_block *sblock)
 	page = sblock->pagev[0]->page;
 	kaddr = page_address(page);
 	s = (struct btrfs_super_block *)kaddr;
-	memcpy(on_disk_csum, s->csum, sctx->csum_size);
 
 	if (sblock->pagev[0]->logical != btrfs_super_bytenr(s))
 		++fail_cor;
@@ -1930,7 +1928,7 @@  static int scrub_checksum_super(struct scrub_block *sblock)
 	crypto_shash_digest(shash, kaddr + BTRFS_CSUM_SIZE,
 			BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE, calculated_csum);
 
-	if (memcmp(calculated_csum, on_disk_csum, sctx->csum_size))
+	if (memcmp(calculated_csum, s->csum, sctx->csum_size))
 		++fail_cor;
 
 	if (fail_cor + fail_gen) {