From: "K. Y. Srinivasan" <kys@microsoft.com>
To: linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
ohering@suse.com, jbottomley@parallels.com, hch@infradead.org,
jasowang@redhat.com, apw@canonical.com,
linux-scsi@vger.kernel.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>, <stable@vger.kernel.org>
Subject: [PATCH V2 3/8] Drivers: scsi: storvsc: Filter commands based on the storage protocol version
Date: Wed, 9 Jul 2014 23:33:47 -0700 [thread overview]
Message-ID: <1404974032-5023-3-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1404974032-5023-1-git-send-email-kys@microsoft.com>
Going forward it is possible that some of the commands that are not currently
implemented will be implemented on future Windows hosts. Even if they are not
implemented, we are told the host will corrrectly handle unsupported
commands (by returning appropriate return code and sense information).
Make command filtering depend on the host version.
In this version of the patch I have addressed comments from
Christoph Hellwig <hch@infradead.org>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Cc: <stable@vger.kernel.org>
---
drivers/scsi/storvsc_drv.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index cebcef7..8f8847e 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1553,9 +1553,19 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
struct vmscsi_request *vm_srb;
struct stor_mem_pools *memp = scmnd->device->hostdata;
- if (!storvsc_scsi_cmd_ok(scmnd)) {
- scmnd->scsi_done(scmnd);
- return 0;
+ if (vmstor_current_major <= VMSTOR_WIN8_MAJOR) {
+ /*
+ * On legacy hosts filter unimplemented commands.
+ * Future hosts are expected to correctly handle
+ * unsupported commands. Furthermore, it is
+ * possible that some of the currently
+ * unsupported commands maybe supported in
+ * future versions of the host.
+ */
+ if (!storvsc_scsi_cmd_ok(scmnd)) {
+ scmnd->scsi_done(scmnd);
+ return 0;
+ }
}
request_size = sizeof(struct storvsc_cmd_request);
--
1.7.4.1
next prev parent reply other threads:[~2014-07-10 6:33 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1404974008-4984-1-git-send-email-kys@microsoft.com>
2014-07-10 6:33 ` [PATCH V2 1/8] Drivers: scsi: storvsc: Change the limits to reflect the values on the host K. Y. Srinivasan
2014-07-10 6:33 ` [PATCH V2 2/8] Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host K. Y. Srinivasan
2014-07-10 10:24 ` Christoph Hellwig
2014-07-10 22:08 ` KY Srinivasan
2014-07-10 6:33 ` K. Y. Srinivasan [this message]
2014-07-10 6:33 ` [PATCH V2 4/8] Drivers: scsi: storvsc: Fix a bug in handling VMBUS protocol version K. Y. Srinivasan
2014-07-10 6:33 ` [PATCH V2 5/8] Drivers: scsi: storvsc: Fix a bug in the handling of SRB status flags K. Y. Srinivasan
2014-07-10 6:33 ` [PATCH V2 7/8] drivers: scsi: storvsc: Set srb_flags in all cases K. Y. Srinivasan
2014-07-10 6:33 ` [PATCH V2 8/8] drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure K. Y. Srinivasan
2014-07-10 6:41 ` [PATCH V2 2/8] Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host K. Y. 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=1404974032-5023-3-git-send-email-kys@microsoft.com \
--to=kys@microsoft.com \
--cc=apw@canonical.com \
--cc=devel@linuxdriverproject.org \
--cc=hch@infradead.org \
--cc=jasowang@redhat.com \
--cc=jbottomley@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=ohering@suse.com \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox