mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-02-05 15:55:25 +07:00
btrfs: scrub: remove temporary csum array in scrub_checksum_super
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>
This commit is contained in:
parent
83cf6d5eae
commit
74710cf1fb
@ -1904,7 +1904,6 @@ static int scrub_checksum_super(struct scrub_block *sblock)
|
|||||||
struct btrfs_fs_info *fs_info = sctx->fs_info;
|
struct btrfs_fs_info *fs_info = sctx->fs_info;
|
||||||
SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
|
SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
|
||||||
u8 calculated_csum[BTRFS_CSUM_SIZE];
|
u8 calculated_csum[BTRFS_CSUM_SIZE];
|
||||||
u8 on_disk_csum[BTRFS_CSUM_SIZE];
|
|
||||||
struct page *page;
|
struct page *page;
|
||||||
char *kaddr;
|
char *kaddr;
|
||||||
int fail_gen = 0;
|
int fail_gen = 0;
|
||||||
@ -1914,7 +1913,6 @@ static int scrub_checksum_super(struct scrub_block *sblock)
|
|||||||
page = sblock->pagev[0]->page;
|
page = sblock->pagev[0]->page;
|
||||||
kaddr = page_address(page);
|
kaddr = page_address(page);
|
||||||
s = (struct btrfs_super_block *)kaddr;
|
s = (struct btrfs_super_block *)kaddr;
|
||||||
memcpy(on_disk_csum, s->csum, sctx->csum_size);
|
|
||||||
|
|
||||||
if (sblock->pagev[0]->logical != btrfs_super_bytenr(s))
|
if (sblock->pagev[0]->logical != btrfs_super_bytenr(s))
|
||||||
++fail_cor;
|
++fail_cor;
|
||||||
@ -1930,7 +1928,7 @@ static int scrub_checksum_super(struct scrub_block *sblock)
|
|||||||
crypto_shash_digest(shash, kaddr + BTRFS_CSUM_SIZE,
|
crypto_shash_digest(shash, kaddr + BTRFS_CSUM_SIZE,
|
||||||
BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE, calculated_csum);
|
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;
|
++fail_cor;
|
||||||
|
|
||||||
if (fail_cor + fail_gen) {
|
if (fail_cor + fail_gen) {
|
||||||
|
Loading…
Reference in New Issue
Block a user