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

Commit 5c84fc3c authored by Stefan Behrens's avatar Stefan Behrens Committed by David Sterba
Browse files

Btrfs: don't count CRC or header errors twice while scrubbing



Each CRC or header error was counted twice, this is now fixed.

Signed-off-by: default avatarStefan Behrens <sbehrens@giantdisaster.de>
parent 99ba55ad
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
@@ -1258,12 +1258,6 @@ static int scrub_checksum_data(struct scrub_block *sblock)
	if (memcmp(csum, on_disk_csum, sdev->csum_size))
		fail = 1;

	if (fail) {
		spin_lock(&sdev->stat_lock);
		++sdev->stat.csum_errors;
		spin_unlock(&sdev->stat_lock);
	}

	return fail;
}

@@ -1336,15 +1330,6 @@ static int scrub_checksum_tree_block(struct scrub_block *sblock)
	if (memcmp(calculated_csum, on_disk_csum, sdev->csum_size))
		++crc_fail;

	if (crc_fail || fail) {
		spin_lock(&sdev->stat_lock);
		if (crc_fail)
			++sdev->stat.csum_errors;
		if (fail)
			++sdev->stat.verify_errors;
		spin_unlock(&sdev->stat_lock);
	}

	return fail || crc_fail;
}