Loading fs/btrfs/scrub.c +9 −10 Original line number Diff line number Diff line Loading @@ -161,7 +161,6 @@ struct scrub_ctx { atomic_t workers_pending; spinlock_t list_lock; wait_queue_head_t list_wait; u16 csum_size; struct list_head csum_list; atomic_t cancel_req; int readonly; Loading Loading @@ -610,7 +609,6 @@ static noinline_for_stack struct scrub_ctx *scrub_setup_ctx( atomic_set(&sctx->bios_in_flight, 0); atomic_set(&sctx->workers_pending, 0); atomic_set(&sctx->cancel_req, 0); sctx->csum_size = fs_info->csum_size; spin_lock_init(&sctx->list_lock); spin_lock_init(&sctx->stat_lock); Loading Loading @@ -1349,7 +1347,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock, if (have_csum) memcpy(page->csum, original_sblock->pagev[0]->csum, sctx->csum_size); sctx->fs_info->csum_size); scrub_stripe_index_and_offset(logical, bbio->map_type, Loading Loading @@ -1800,7 +1798,7 @@ static int scrub_checksum_data(struct scrub_block *sblock) crypto_shash_init(shash); crypto_shash_digest(shash, kaddr, PAGE_SIZE, csum); if (memcmp(csum, spage->csum, sctx->csum_size)) if (memcmp(csum, spage->csum, sctx->fs_info->csum_size)) sblock->checksum_error = 1; return sblock->checksum_error; Loading @@ -1823,7 +1821,7 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock) spage = sblock->pagev[0]; kaddr = page_address(spage->page); h = (struct btrfs_header *)kaddr; memcpy(on_disk_csum, h->csum, sctx->csum_size); memcpy(on_disk_csum, h->csum, sctx->fs_info->csum_size); /* * we don't use the getter functions here, as we Loading Loading @@ -1856,7 +1854,7 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock) } crypto_shash_final(shash, calculated_csum); if (memcmp(calculated_csum, on_disk_csum, sctx->csum_size)) if (memcmp(calculated_csum, on_disk_csum, sctx->fs_info->csum_size)) sblock->checksum_error = 1; return sblock->header_error || sblock->checksum_error; Loading Loading @@ -1893,7 +1891,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, s->csum, sctx->csum_size)) if (memcmp(calculated_csum, s->csum, sctx->fs_info->csum_size)) ++fail_cor; if (fail_cor + fail_gen) { Loading Loading @@ -2198,7 +2196,7 @@ static int scrub_pages(struct scrub_ctx *sctx, u64 logical, u64 len, spage->mirror_num = mirror_num; if (csum) { spage->have_csum = 1; memcpy(spage->csum, csum, sctx->csum_size); memcpy(spage->csum, csum, sctx->fs_info->csum_size); } else { spage->have_csum = 0; } Loading Loading @@ -2390,7 +2388,8 @@ static int scrub_find_csum(struct scrub_ctx *sctx, u64 logical, u8 *csum) ASSERT(index < UINT_MAX); num_sectors = sum->len >> sctx->fs_info->sectorsize_bits; memcpy(csum, sum->sums + index * sctx->csum_size, sctx->csum_size); memcpy(csum, sum->sums + index * sctx->fs_info->csum_size, sctx->fs_info->csum_size); if (index == num_sectors - 1) { list_del(&sum->list); kfree(sum); Loading Loading @@ -2508,7 +2507,7 @@ static int scrub_pages_for_parity(struct scrub_parity *sparity, spage->mirror_num = mirror_num; if (csum) { spage->have_csum = 1; memcpy(spage->csum, csum, sctx->csum_size); memcpy(spage->csum, csum, sctx->fs_info->csum_size); } else { spage->have_csum = 0; } Loading Loading
fs/btrfs/scrub.c +9 −10 Original line number Diff line number Diff line Loading @@ -161,7 +161,6 @@ struct scrub_ctx { atomic_t workers_pending; spinlock_t list_lock; wait_queue_head_t list_wait; u16 csum_size; struct list_head csum_list; atomic_t cancel_req; int readonly; Loading Loading @@ -610,7 +609,6 @@ static noinline_for_stack struct scrub_ctx *scrub_setup_ctx( atomic_set(&sctx->bios_in_flight, 0); atomic_set(&sctx->workers_pending, 0); atomic_set(&sctx->cancel_req, 0); sctx->csum_size = fs_info->csum_size; spin_lock_init(&sctx->list_lock); spin_lock_init(&sctx->stat_lock); Loading Loading @@ -1349,7 +1347,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock, if (have_csum) memcpy(page->csum, original_sblock->pagev[0]->csum, sctx->csum_size); sctx->fs_info->csum_size); scrub_stripe_index_and_offset(logical, bbio->map_type, Loading Loading @@ -1800,7 +1798,7 @@ static int scrub_checksum_data(struct scrub_block *sblock) crypto_shash_init(shash); crypto_shash_digest(shash, kaddr, PAGE_SIZE, csum); if (memcmp(csum, spage->csum, sctx->csum_size)) if (memcmp(csum, spage->csum, sctx->fs_info->csum_size)) sblock->checksum_error = 1; return sblock->checksum_error; Loading @@ -1823,7 +1821,7 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock) spage = sblock->pagev[0]; kaddr = page_address(spage->page); h = (struct btrfs_header *)kaddr; memcpy(on_disk_csum, h->csum, sctx->csum_size); memcpy(on_disk_csum, h->csum, sctx->fs_info->csum_size); /* * we don't use the getter functions here, as we Loading Loading @@ -1856,7 +1854,7 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock) } crypto_shash_final(shash, calculated_csum); if (memcmp(calculated_csum, on_disk_csum, sctx->csum_size)) if (memcmp(calculated_csum, on_disk_csum, sctx->fs_info->csum_size)) sblock->checksum_error = 1; return sblock->header_error || sblock->checksum_error; Loading Loading @@ -1893,7 +1891,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, s->csum, sctx->csum_size)) if (memcmp(calculated_csum, s->csum, sctx->fs_info->csum_size)) ++fail_cor; if (fail_cor + fail_gen) { Loading Loading @@ -2198,7 +2196,7 @@ static int scrub_pages(struct scrub_ctx *sctx, u64 logical, u64 len, spage->mirror_num = mirror_num; if (csum) { spage->have_csum = 1; memcpy(spage->csum, csum, sctx->csum_size); memcpy(spage->csum, csum, sctx->fs_info->csum_size); } else { spage->have_csum = 0; } Loading Loading @@ -2390,7 +2388,8 @@ static int scrub_find_csum(struct scrub_ctx *sctx, u64 logical, u8 *csum) ASSERT(index < UINT_MAX); num_sectors = sum->len >> sctx->fs_info->sectorsize_bits; memcpy(csum, sum->sums + index * sctx->csum_size, sctx->csum_size); memcpy(csum, sum->sums + index * sctx->fs_info->csum_size, sctx->fs_info->csum_size); if (index == num_sectors - 1) { list_del(&sum->list); kfree(sum); Loading Loading @@ -2508,7 +2507,7 @@ static int scrub_pages_for_parity(struct scrub_parity *sparity, spage->mirror_num = mirror_num; if (csum) { spage->have_csum = 1; memcpy(spage->csum, csum, sctx->csum_size); memcpy(spage->csum, csum, sctx->fs_info->csum_size); } else { spage->have_csum = 0; } Loading