> wd1 has bad blocks and is marked failed. I replace it and reconstruct > the RAID with a new disk. But wd0 also has bad blocks, and RAIDframe > will give up reconstruction because of the read failure. My ideas/whishlist in this area:
-- Teach RAIDframe about TRIM so it knows which stripes contain data. -- Optionally pass the name of a new location of the old failed component to the rebuild command, so it can read data from there if reconstruction would otherwise fail. -- Add a consolidation command that checks and re-writes parity not only if it doesn't match, but also re-write data/parity if it can't be redundantly read. Would need logging and probably rate limiting. -- On a read failure (ideally if it's known to be a one-block-only problem, but I guess that information is not available at this level), don't fail the component, but reconstruct the block, count and log. Will also need rate limiting. Of course that's all rather tricky and involved. What I currently do is, once a week, scan the RAID's components for read errors.