RE: [PATCH 1/1] Drivers: scsi: storvsc: Account for in-transitpackets in the RESET path
From: KY Srinivasan
Date: Mon Oct 08 2012 - 11:51:53 EST
> -----Original Message-----
> From: K. Y. Srinivasan [mailto:kys@xxxxxxxxxxxxx]
> Sent: Tuesday, October 02, 2012 2:04 PM
> To: gregkh@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> devel@xxxxxxxxxxxxxxxxxxxxxx; ohering@xxxxxxxx; jbottomley@xxxxxxxxxxxxx;
> hch@xxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx
> Cc: KY Srinivasan; stable@xxxxxxxxxxxxxxx
> Subject: [PATCH 1/1] Drivers: scsi: storvsc: Account for in-transit packets in the
> RESET path
>
> Properly account for I/O in transit before returning from the RESET call.
> In the absense of this patch, we could have a situation where the host may
> respond to a command that was issued prior to the issuance of the RESET
> command at some arbitrary time after responding to the RESET command.
> Currently, the host does not do anything with the RESET command.
>
> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> ---
> drivers/scsi/storvsc_drv.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index 528d52b..0144078 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -1221,7 +1221,12 @@ static int storvsc_host_reset_handler(struct scsi_cmnd
> *scmnd)
> /*
> * At this point, all outstanding requests in the adapter
> * should have been flushed out and return to us
> + * There is a potential race here where the host may be in
> + * the process of responding when we return from here.
> + * Just wait for all in-transit packets to be accounted for
> + * before we return from here.
> */
> + storvsc_wait_to_drain(stor_device);
>
> return SUCCESS;
> }
> --
> 1.7.4.1
James,
This patch is critical for running Linux based workloads on our Cloud infrastructure - Azure.
Please let me know if there are any issues.
Regards,
K. Y
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/