RE: [PATCH 0/2] : definion, code, and use of new SCSI ML hoststatus DID_COND_REQUEUE

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

 




> -----Original Message-----
> From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Edward Goggin
> Sent: Friday, February 02, 2007 5:34 PM
> To: James Bottomley
> Cc: linux-scsi@xxxxxxxxxxxxxxx; Moore, Eric
> I think I see your argument ... retries for BUSY and all other
scsi/host
> status's are limited by the code in scsi_softirq_done which filters
the
> disposition returned by scsi_decide_disposition, so no status will
yield
> an indefinite retry.
> 
> Not clear if that's soon enough for RDAC/MPP.  For the VMware case, it
> appears to allow an additional 30 seconds (beyond what DID_BUSY_BUSY
> would allow) for a retry.
 [Qi, Yanling] The following code in the scsi_lib.c will be enough for
RDAC/MPP. BTW, why do we do "wait_for = (cmd->allowed + 1) *
cmd->timeout_per_command". With a sd request, the wait_for will be 180
seconds. (SD_MAX_RETRIES=5 and SD_TIMEOUT=30 * HZ).

static void scsi_softirq_done(struct request *rq)
{
	struct scsi_cmnd *cmd = rq->completion_data;
	unsigned long wait_for = (cmd->allowed + 1) *
cmd->timeout_per_command;
	int disposition;

	INIT_LIST_HEAD(&cmd->eh_entry);

	disposition = scsi_decide_disposition(cmd);
	if (disposition != SUCCESS &&
	    time_before(cmd->jiffies_at_alloc + wait_for, jiffies)) {
		sdev_printk(KERN_ERR, cmd->device,
			    "timing out command, waited %lus\n",
			    wait_for/HZ);
		disposition = SUCCESS;
	}
Thanks,
Yanling
-
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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux