Hello, On Mon, Aug 03, 2015 at 09:31:57AM +0200, Hannes Reinecke wrote: > The whole point of the autosense feature is that you do _not_ > have to fall back to the original trial-and-error libata EH, > but know exactly what the problem is. Plus any retry will be giving > us (in most cases) exactly the same sense code. Can you please give some examples? As lacking as ATA error reporting is, it still can tell whether retry is necessary or not in most cases. > _And_ the SCSI layer is actually able to understand the sense code, > allowing him to make a better judgment on what to do with that error. > > So any retry in the libata layer will only slow things down, > leading to the same results eventually. Have you tested actual error handling? I doubt this would work as you expect it to. libata EH takes over the entire error handling and when it determines that the command has failed and retrying won't do any good, it tells SCSI EH to not retry either. Ugh... so this is from NCQ autosense thing. Now ATA devices reports sense data too which trumps AC_ERR_DEV so libata EH decides to retry even when the device indicates unrecoverable error. Urgh... we shouldn't be taking completely different error handling paths because a device chooses to report error conditions slightly differently. Please map them so that they behave in a consistent manner. I'm gonna plug autosense for now. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html