Thread (13 messages) 13 messages, 4 authors, 2012-07-21

Re: [PATCH] Re: Find mismatch in data blocks during raid6 repair

From: Robert Buchholz <hidden>
Date: 2012-07-20 14:14:48

On Friday, July 20, 2012 12:40:04 PM Robert Buchholz wrote:
I have attached three patches against your latest HEAD.
The first fixes compilation of the raid6check tool after the xmalloc
refactoring. The other two are bugfixes in the repair code. The latter
bug is somewhat embarrassing, I used geo_map in the wrong direction,
yielding incorrect data block indices to repair. This will lead to a
data corruption on the stripe in most cases (interestingly, not in my
test case due to the way the raid size and stripe index were chosen).
Please find attached a revised version of patch 3 in my previous email 
(0003-raid6check-Repair-mode-used-geo_map-incorrectly.patch). The 
original version did not handle the the P/Q repair case correctly, this 
patch replaces the previous file.

In addition, autorepair mode is added by the other two patches in this 
email. To fix all slots that are detected faulty, one can run
  # raid6check /dev/mdX 0 0 autorepair
The same considerations regarding caching apply, i.e. the array should 
not be in use and caches flushed before any usage.

We should probably update the tool's man page for this.


Cheers,

Robert

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help