dm integrity: limit the rate of error messages
When using dm-integrity underneath md-raid, some tests with raid
auto-correction trigger large amounts of integrity failures - and all
these failures print an error message. These messages can bring the
system to a halt if the system is using serial console.
Fix this by limiting the rate of error messages - it improves the speed
of raid recovery and avoids the hang.
Fixes: 7eada909bf
("dm: add integrity target")
Cc: stable@vger.kernel.org # v4.12+
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
c439ca69d5
commit
2255574468
|
@ -1368,8 +1368,8 @@ again:
|
|||
checksums_ptr - checksums, !dio->write ? TAG_CMP : TAG_WRITE);
|
||||
if (unlikely(r)) {
|
||||
if (r > 0) {
|
||||
DMERR("Checksum failed at sector 0x%llx",
|
||||
(unsigned long long)(sector - ((r + ic->tag_size - 1) / ic->tag_size)));
|
||||
DMERR_LIMIT("Checksum failed at sector 0x%llx",
|
||||
(unsigned long long)(sector - ((r + ic->tag_size - 1) / ic->tag_size)));
|
||||
r = -EILSEQ;
|
||||
atomic64_inc(&ic->number_of_mismatches);
|
||||
}
|
||||
|
@ -1561,8 +1561,8 @@ retry_kmap:
|
|||
|
||||
integrity_sector_checksum(ic, logical_sector, mem + bv.bv_offset, checksums_onstack);
|
||||
if (unlikely(memcmp(checksums_onstack, journal_entry_tag(ic, je), ic->tag_size))) {
|
||||
DMERR("Checksum failed when reading from journal, at sector 0x%llx",
|
||||
(unsigned long long)logical_sector);
|
||||
DMERR_LIMIT("Checksum failed when reading from journal, at sector 0x%llx",
|
||||
(unsigned long long)logical_sector);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue