[DRBD-user] Warning: Data Corruption Issue Discovered in DRBD 8.4 and 9.0

Robert Altnoeder robert.altnoeder at linbit.com
Thu Oct 12 11:14:55 CEST 2017

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


On 10/11/2017 11:30 PM, Eric Robinson wrote:
> The TrimTester program consists of three parts. The main executable
> (TrimTester) just writes loads of data to the drive and tests for file
> corruption. My C++ consultant says, "It writes sequential numbers
> wrapped at 256, spanning multiple files. It checks previously written
> files, and if the file data is all zeroes, it is considered to be
> corrupted."
Are you referring to this program?
https://github.com/algolia/trimtester/blob/master/trimtester.cpp

One thing that I can tell you right away is that this program does not
appear to be very trustworthy, because it may malfunction due to the use
of incorrect datatypes for the purpose - apparently, it is attempting to
memory-map quite large files (~ 70 GiB) and check using a byte-indexed
offset declared as type 'unsigned', which is commonly only 32 bits wide,
and therefore inadequate for the byte-wise indexing of anything that is
larger than 4 GiB.

While this indicates that the program might miss actual corruption, so
far I have not found any definitive proof that the program will generate
false positives (however, I did not check the program in much detail,
judging by the overall quality I would not be surprised if it did), so
we should still continue investigating.

I would certainly recommend to double-check by running some other
software to check for data corruption issues to ensure that the problem
is not malfunctioning test software.

br,
-- 
Robert Altnoeder
+43 1 817 82 92 0
robert.altnoeder at linbit.com

LINBIT | Keeping The Digital World Running
DRBD - Corosync - Pacemaker
f /  t /  in /  g+

DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.



More information about the drbd-user mailing list