这些文章已经写了好几年了,可能已经过时了。在MSN space和QQzone几经辗转之后,我想也许这些技术文章还是放在搞技术的博客中更能帮助人。于是做了一个艰难的决定,把这些文章一篇篇搬过来!绝对是原创的。
错误处理
RAID-5能提供一定程度的可靠性,也就是说能容忍一定程度的错误,那么在I/O中出现错误的时候, RAID-5时如何处理的呢?
首先,RAID-5是如何发现错误的呢?其实并不能说是RAID-5发现错误,而是在I/O过程中下层设备I/O发生了错误,这是送到下层设备的req的BIO_UPTODATE标志位被清除,下层在I/O返回的时候(调用raid5_end_read_request或 raid5_end_write_request)通知RAID-5处理错误。