Re: [PATCH] libata-eh don't waste time retrying media errors (v3)

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

 



On 12-05-02 03:33 PM, Tejun Heo wrote:
> On Wed, May 02, 2012 at 03:22:52PM -0400, Mark Lord wrote:
>> ATA and SATA drives have had built-in retries for media errors
>> for as long as they've been commonplace in computers (early 1990s).
>>
>> When libata stumbles across a bad sector, it can waste minutes
>> sitting there doing retry after retry before finally giving up
>> and letting the higher layers deal with it.
>>
>> This patch removes retries for media errors only.
>>
>> Signed-off-by: Mark Lord <mlord@xxxxxxxxx>
>> ---
>> version 3: try to improve readability.
>>
>> --- old/drivers/ata/libata-eh.c	2012-04-27 13:17:35.000000000 -0400
>> +++ linux/drivers/ata/libata-eh.c	2012-05-02 15:20:19.946827031 -0400
>> @@ -2046,6 +2046,26 @@
>>  }
>>
>>  /**
>> + *	ata_eh_worth_retry - analyze error and decide whether to retry
>> + *	@qc: qc to possibly retry
>> + *
>> + *	Look at the cause of the error and decide if a retry
>> + * 	might be useful or not.  We don't want to retry media errors
>> + *	because the drive itself has probably already taken 10-30 seconds
>> + *	doing its own internal retries before reporting the failure.
>> + */
>> +static inline int ata_eh_worth_retry(struct ata_queued_cmd *qc)
> 
> Return bool? && maybe split the patch into two - the first separating
> out the logic into a function, the latter changing emedia handling?

I think the two-liner from v2 is better.

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