Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1d1bf92d authored by David Sterba's avatar David Sterba
Browse files

btrfs: scrub: clean up division in scrub_find_csum



Use proper helpers for 64bit division.

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 7736b0a4
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -2708,7 +2708,9 @@ static int scrub_find_csum(struct scrub_ctx *sctx, u64 logical, u8 *csum)
	if (!sum)
	if (!sum)
		return 0;
		return 0;


	index = ((u32)(logical - sum->bytenr)) / sctx->fs_info->sectorsize;
	index = div_u64(logical - sum->bytenr, sctx->fs_info->sectorsize);
	ASSERT(index < UINT_MAX);

	num_sectors = sum->len / sctx->fs_info->sectorsize;
	num_sectors = sum->len / sctx->fs_info->sectorsize;
	memcpy(csum, sum->sums + index, sctx->csum_size);
	memcpy(csum, sum->sums + index, sctx->csum_size);
	if (index == num_sectors - 1) {
	if (index == num_sectors - 1) {