On Wed, 2006-12-06 at 12:24 -0800, Luben Tuikov wrote: > NEEDS_RETRY _does_ terminate, after it exhausts the retries. But since > by the ASC value we know that no amount of retries is going to work, > this chunk of the patch resolves it quicker, i.e. eliminates the > "NEEDS_RETRY" pointless retries (given the SK/ASC combination). I agree that it's useful behaviour. However, the change header should be something like "scsi_error: don't retry for unrecoverable medium errors" not "infinite retries .." > > > - if (scsi_end_request(cmd, 1, good_bytes, result == 0) == NULL) > > > + if (good_bytes && > > > + scsi_end_request(cmd, 1, good_bytes, result == 0) == NULL) > > > return; > > > > What exactly is this supposed to be doing? its result is identical to > > the code it's replacing (because of the way scsi_end_request() processes > > its second argument), so it can't have any effect on the stated problem. > > I suppose this is true, but I'd rather it not even go in > scsi_end_request as (cmd, uptodate=1, good_bytes=0, retry=0) and complete > at the bottom as (cmd, uptodate=0, total_xfer, retry=0). But, logically, this isn't part of the change set ... the behaviour you're altering is unrelated to the change set details, so this piece shouldn't be in. James - 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