All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: KY Srinivasan <kys@microsoft.com>, Christoph Hellwig <hch@infradead.org>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"jbottomley@parallels.com" <jbottomley@parallels.com>,
	"ohering@suse.com" <ohering@suse.com>,
	"apw@canonical.com" <apw@canonical.com>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>
Subject: Re: [PATCH 6/8] Drivers: scsi: storvsc: Implement an abort handler
Date: Fri, 11 Jul 2014 11:52:55 +0200	[thread overview]
Message-ID: <53BFB3F7.7010304@suse.de> (raw)
In-Reply-To: <f662b500fada4fbca75c55089d3f8ee4@BY2PR03MB299.namprd03.prod.outlook.com>

On 07/11/2014 12:26 AM, KY Srinivasan wrote:
>
>
>> -----Original Message-----
>> From: Christoph Hellwig [mailto:hch@infradead.org]
>> Sent: Thursday, July 10, 2014 3:13 AM
>> To: KY Srinivasan
>> Cc: Christoph Hellwig; linux-kernel@vger.kernel.org;
>> devel@linuxdriverproject.org; ohering@suse.com;
>> jbottomley@parallels.com; jasowang@redhat.com; apw@canonical.com;
>> linux-scsi@vger.kernel.org
>> Subject: Re: [PATCH 6/8] Drivers: scsi: storvsc: Implement an abort handler
>>
>>
>> Note that you could increase the timeout and/or implement an
>> eh_timed_out handler that just returns BLK_EH_RESET_TIMER, but if the
>> completion takes too long the expectation is that a command will eventually
>> finish instead of beeing delayed by an unmound amount.
>
> I like this idea; I will implement a eh_timed_out_handler.
>
Something like this should be sufficient:

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index e71a0d7..630ae81 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1468,6 +1468,12 @@ static int storvsc_get_chs(struct scsi_device 
*sdev, stru
ct block_device * bdev,
         return 0;
  }

+static enum blk_eh_timer_return
+storvsc_timed_out_handler(struct scsi_cmnd *scmd)
+{
+       return BLK_EH_RESET_TIMER;
+}
+
  static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd)
  {
         struct hv_host_device *host_dev = 
shost_priv(scmnd->device->host);
@@ -1687,6 +1693,7 @@ static struct scsi_host_template scsi_driver = {
         .name =                 "storvsc_host_t",
         .bios_param =           storvsc_get_chs,
         .queuecommand =         storvsc_queuecommand,
+       .eh_timed_out =         storvsc_timed_out_handler,
         .eh_host_reset_handler =        storvsc_host_reset_handler,
         .slave_alloc =          storvsc_device_alloc,
         .slave_destroy =        storvsc_device_destroy,

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

WARNING: multiple messages have this Message-ID (diff)
From: Hannes Reinecke <hare@suse.de>
To: KY Srinivasan <kys@microsoft.com>, Christoph Hellwig <hch@infradead.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
	"ohering@suse.com" <ohering@suse.com>,
	"jbottomley@parallels.com" <jbottomley@parallels.com>,
	"jasowang@redhat.com" <jasowang@redhat.com>,
	"apw@canonical.com" <apw@canonical.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>
Subject: Re: [PATCH 6/8] Drivers: scsi: storvsc: Implement an abort handler
Date: Fri, 11 Jul 2014 11:52:55 +0200	[thread overview]
Message-ID: <53BFB3F7.7010304@suse.de> (raw)
In-Reply-To: <f662b500fada4fbca75c55089d3f8ee4@BY2PR03MB299.namprd03.prod.outlook.com>

On 07/11/2014 12:26 AM, KY Srinivasan wrote:
>
>
>> -----Original Message-----
>> From: Christoph Hellwig [mailto:hch@infradead.org]
>> Sent: Thursday, July 10, 2014 3:13 AM
>> To: KY Srinivasan
>> Cc: Christoph Hellwig; linux-kernel@vger.kernel.org;
>> devel@linuxdriverproject.org; ohering@suse.com;
>> jbottomley@parallels.com; jasowang@redhat.com; apw@canonical.com;
>> linux-scsi@vger.kernel.org
>> Subject: Re: [PATCH 6/8] Drivers: scsi: storvsc: Implement an abort handler
>>
>>
>> Note that you could increase the timeout and/or implement an
>> eh_timed_out handler that just returns BLK_EH_RESET_TIMER, but if the
>> completion takes too long the expectation is that a command will eventually
>> finish instead of beeing delayed by an unmound amount.
>
> I like this idea; I will implement a eh_timed_out_handler.
>
Something like this should be sufficient:

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index e71a0d7..630ae81 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1468,6 +1468,12 @@ static int storvsc_get_chs(struct scsi_device 
*sdev, stru
ct block_device * bdev,
         return 0;
  }

+static enum blk_eh_timer_return
+storvsc_timed_out_handler(struct scsi_cmnd *scmd)
+{
+       return BLK_EH_RESET_TIMER;
+}
+
  static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd)
  {
         struct hv_host_device *host_dev = 
shost_priv(scmnd->device->host);
@@ -1687,6 +1693,7 @@ static struct scsi_host_template scsi_driver = {
         .name =                 "storvsc_host_t",
         .bios_param =           storvsc_get_chs,
         .queuecommand =         storvsc_queuecommand,
+       .eh_timed_out =         storvsc_timed_out_handler,
         .eh_host_reset_handler =        storvsc_host_reset_handler,
         .slave_alloc =          storvsc_device_alloc,
         .slave_destroy =        storvsc_device_destroy,

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

  reply	other threads:[~2014-07-11  9:52 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-09  0:46 [PATCH 0/8] Drivers: scsi: storvsc: Bug fixes and improvements K. Y. Srinivasan
2014-07-09  0:46 ` K. Y. Srinivasan
2014-07-09  0:46 ` [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to reflect the values on the host K. Y. Srinivasan
2014-07-09  0:46   ` K. Y. Srinivasan
2014-07-09  0:46   ` [PATCH 2/8] Drivers: scsi: storvsc: Filter commands based on the storage protocol version K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:40     ` Christoph Hellwig
2014-07-09 20:02       ` KY Srinivasan
2014-07-09 20:02         ` KY Srinivasan
2014-07-09  0:46   ` [PATCH 3/8] Drivers: scsi: storvsc: Fix a bug in handling VMBUS " K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:41     ` Christoph Hellwig
2014-07-09 20:01       ` KY Srinivasan
2014-07-09  0:46   ` [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16 K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:43     ` Christoph Hellwig
2014-07-09  8:43       ` Christoph Hellwig
2014-07-09 19:52       ` KY Srinivasan
2014-07-09 19:52         ` KY Srinivasan
2014-07-09 19:56         ` James Bottomley
2014-07-09 19:56           ` James Bottomley
2014-07-09 21:14           ` KY Srinivasan
2014-07-09 21:14             ` KY Srinivasan
2014-07-09 22:27             ` James Bottomley
2014-07-09 22:27               ` James Bottomley
2014-07-09 22:36               ` KY Srinivasan
2014-07-10 10:07                 ` hch
2014-07-10 21:02               ` KY Srinivasan
2014-07-10 21:02                 ` KY Srinivasan
2014-07-10 22:12                 ` James Bottomley
2014-07-10 22:12                   ` James Bottomley
2014-07-10 22:12                   ` James Bottomley
2014-07-11  6:32               ` hch
2014-07-11  6:32                 ` hch
2014-07-11 12:54                 ` Martin K. Petersen
2014-07-11 12:54                   ` Martin K. Petersen
2014-07-12  2:53                   ` KY Srinivasan
2014-07-12  2:50                 ` KY Srinivasan
2014-07-13 12:58                   ` Martin K. Petersen
2014-07-13 12:58                     ` Martin K. Petersen
2014-07-13 18:49                     ` KY Srinivasan
2014-07-13 18:49                       ` KY Srinivasan
2014-07-14  2:37                     ` KY Srinivasan
2014-07-14  2:37                       ` KY Srinivasan
2014-07-14  3:19                       ` KY Srinivasan
2014-07-16 11:01                     ` hch
2014-07-16 11:01                       ` hch
2014-07-16 14:53                       ` James Bottomley
2014-07-16 14:53                         ` James Bottomley
2014-07-16 15:44                       ` Martin K. Petersen
2014-07-16 15:44                         ` Martin K. Petersen
2014-07-16 17:38                         ` hch
2014-07-16 17:38                           ` hch
2014-07-16 17:47                           ` Martin K. Petersen
2014-07-16 17:47                             ` Martin K. Petersen
2014-07-16 17:55                             ` hch
2014-07-16 17:55                               ` hch
2014-07-16 18:02                             ` James Bottomley
2014-07-16 18:43                               ` Elliott, Robert (Server Storage)
2014-07-16 19:20                                 ` Martin K. Petersen
2014-07-16 19:20                                   ` Martin K. Petersen
2014-07-17  7:42                                   ` hch
2014-07-17 12:41                                     ` Martin K. Petersen
2014-07-17 12:41                                       ` Martin K. Petersen
2014-07-16 18:45                               ` Martin K. Petersen
2014-07-16 18:45                                 ` Martin K. Petersen
2014-07-16 18:50                                 ` James Bottomley
2014-07-16 18:50                                   ` James Bottomley
2014-07-16 19:08                                   ` Martin K. Petersen
2014-07-16 19:08                                     ` Martin K. Petersen
2014-07-16 19:14                                     ` James Bottomley
2014-07-16 19:14                                       ` James Bottomley
2014-07-16 19:44                                       ` Martin K. Petersen
2014-07-16 19:44                                         ` Martin K. Petersen
2014-07-09  0:46   ` [PATCH 5/8] Drivers: scsi: storvsc: Fix a bug in the handling of SRB status flags K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:43     ` Christoph Hellwig
2014-07-09  8:43       ` Christoph Hellwig
2014-07-09  0:46   ` [PATCH 6/8] Drivers: scsi: storvsc: Implement an abort handler K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:44     ` Christoph Hellwig
2014-07-09  8:44       ` Christoph Hellwig
2014-07-09 18:51       ` KY Srinivasan
2014-07-10 10:13         ` Christoph Hellwig
2014-07-10 10:13           ` Christoph Hellwig
2014-07-10 22:26           ` KY Srinivasan
2014-07-11  9:52             ` Hannes Reinecke [this message]
2014-07-11  9:52               ` Hannes Reinecke
2014-07-11  9:54               ` Christoph Hellwig
2014-07-11  9:54                 ` Christoph Hellwig
2014-07-11 14:49               ` KY Srinivasan
2014-07-11 14:49                 ` KY Srinivasan
2014-07-10 10:33         ` Richard Weinberger
2014-07-12 16:16           ` Richard Weinberger
2014-07-12 16:16             ` Richard Weinberger
2014-07-12 16:35             ` KY Srinivasan
2014-07-12 16:35               ` KY Srinivasan
2014-07-09  0:46   ` [PATCH 7/8] drivers: scsi: storvsc: Set srb_flags in all cases K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:44     ` Christoph Hellwig
2014-07-09 18:40       ` KY Srinivasan
2014-07-09 18:40         ` KY Srinivasan
2014-07-10 10:17         ` Christoph Hellwig
2014-07-10 22:22           ` KY Srinivasan
2014-07-10 10:18     ` Christoph Hellwig
2014-07-10 10:18       ` Christoph Hellwig
2014-07-11 21:03       ` KY Srinivasan
2014-07-09  0:46   ` [PATCH 8/8] drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure K. Y. Srinivasan
2014-07-09  0:46     ` K. Y. Srinivasan
2014-07-09  8:46     ` Christoph Hellwig
2014-07-09 18:35       ` KY Srinivasan
2014-07-09 18:35         ` KY Srinivasan
2014-07-09  8:39   ` [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to reflect the values on the host Christoph Hellwig
2014-07-09 20:07     ` KY Srinivasan
2014-07-09 20:07       ` KY Srinivasan
2014-07-09 23:39       ` KY Srinivasan
2014-07-09 23:39         ` KY Srinivasan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53BFB3F7.7010304@suse.de \
    --to=hare@suse.de \
    --cc=apw@canonical.com \
    --cc=devel@linuxdriverproject.org \
    --cc=hch@infradead.org \
    --cc=jasowang@redhat.com \
    --cc=jbottomley@parallels.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=ohering@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.