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

Eric Robinson eric.robinson at psmnv.com
Thu Oct 12 12:15:19 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.


> Are you referring to this program?
> https://github.com/algolia/trimtester/blob/master/trimtester.cpp
>

Yes, that is the program.
 
> 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.
> 

I can't personally dispute your comments. I did have it checked by two other C++ consultants and neither one mentioned what you said. However, all I can tell you is that the program runs continuously without a problem when DRBD is not in the stack. I ran it for 15+ hours and wrote 20 TB of data without corruption. However, when DRBD is in the stack, it reports corruption after about 700-900 GB of data has been written.

I would be happy to try a different tool if you can recommend (or write) one.   

--Eric



More information about the drbd-user mailing list