Re: Does raid5 have error handling while reading?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 22, 2009 6:10 pm, Xu Yuehai wrote:
> I know that if the read request of raid5 is handled by
> chunk_aligned_read, there is no error handling in raid5. But, if this
> read request is not aligned, that's say, raid5 need stripe_head to
> deal with this request. I find in the code of 2.6.27 that there is no
> error handling if this read request fail, I remember in older kernel,
> some operations should be done such as compute_block. Am I right?

If chunk_aligned_read results in an error, then the request
is re-tried through the stripe cache.  I would call that "error handling".

If the cache finds that a drives is failed, the data is calculated
from the other drives, though the code is not a straight forward
as it used to be.
See fetch_block5 which sets STRIPE_OP_COMPUTE_BLK which causes
ops_run_compute5 to do the work (or to schedule the work on separate
hardware).

NeilBrown

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux