libata: ata identify timeouts

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

 



I think this is the code that prevents use of some hard drives:

> static const unsigned long ata_eh_identify_timeouts[] = {
>          5000,  /* covers > 99% of successes and not too boring on failures */
>         10000,  /* combined time till here is enough even for media access */
>         30000,  /* for true idiots */
>         ULONG_MAX,
> };

with help from its immediate predecessor:

> static const unsigned long ata_eh_reset_timeouts[] = {
>         10000,  /* most drives spin up by 10sec */
>         10000,  /* > 99% working drives spin up before 20sec */
>         35000,  /* give > 30 secs of idleness for retarded devices */
>          5000,  /* and sweet one last chance */
>         ULONG_MAX, /* > 1 min has elapsed, give up */
> };

When 5 SATA drives are connected through a port multiplier, some drives become more retarded than they used to be.  They become worse than idiots.  Resetting every 10 seconds doesn't even teach them to speed up.

Is it safe for me to change all of those timeouts to 60000?  Will something else get damaged by that?  Or maybe I should ask first, is this likely to solve the problem of some drives not getting identified, or is there other impatient code somewhere else that disables them?

--
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


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux