> -----Original Message-----
> From: K. Y. Srinivasan [mailto:k...@microsoft.com]
> Sent: Tuesday, October 02, 2012 2:04 PM
> To: gre...@linuxfoundation.org; linux-ker...@vger.kernel.org;
> de...@linuxdriverproject.org; oher...@suse.com; jbottom...@parallels.com;
> h...@infradead.org; linux-scsi@vger.kernel.org
> Cc: KY Srinivasan; sta...@vger.kernel.org
> 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 <k...@microsoft.com>
> Cc: sta...@vger.kernel.org
> ---
>  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-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to