It is for sure some sort of kernel bug and/or deficiency, because
- a process should not get blocked for several minutes or more because of an SCSI/ATA controller or HDD I/O error, no matter what the controller or HDD does (or doesn't do), it should get I/O error / timeout
- md RAID other than level 0 should not hang for several minutes if one component hangs - it should read from the other components and try to reset the one with the problem
I've also experienced frozen tasks in D+ state from several seconds up to 1-2 minutes without any messages
logged - it might be well related to the same problem.
It is for sure some sort of kernel bug and/or deficiency, because
- a process should not get blocked for several minutes or more because of an SCSI/ATA controller or HDD I/O error, no matter what the controller or HDD does (or doesn't do), it should get I/O error / timeout
- md RAID other than level 0 should not hang for several minutes if one component hangs - it should read from the other components and try to reset the one with the problem
I've also experienced frozen tasks in D+ state from several seconds up to 1-2 minutes without any messages
logged - it might be well related to the same problem.