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