Elias Oltmanns wrote: >> For libata, the easiest way to achieve the above would be adding a >> per-dev EH action, say, ATA_EH_UNLOAD and schedule EH w/ the action OR'd >> to eh_info->action. The EH_UNLOAD handler can then issue the command >> wait for the specified number of seconds and continue. This will be >> pretty simple to implement as command exclusion and stuff are all >> automatically handled by EH framework. > > I'm rather afraid this approach is impractical or unfavourable at the > very least. Depending on the configured thresholds, a head unload > request might well be issued unintentionally, e.g. by accidentally > knocking against the table. It is quite alright for the HD to stop I/O > for a moment but if the secondary device on the interface happens to be > a CD writer, it will be very annoying to have CD writing operations fail > due to minor percussions. Why would it fail? > Also, if there are two devices on the same > port that support the UNLOAD FEATURE and you issue a head unload request > to both of them in close succession, the IDLE IMMEDIATE to the second > device will be blocked until the timeout for the first has expired. Unload can be implemented as port-wide operation so that it issues IDLE IMMEDIATE to all drives on the port but given that this is mostly for laptop, this discussion is a bit peripheral. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html