From: James Bottomley <jbottomley@parallels.com>
To: "hch@infradead.org" <hch@infradead.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"apw@canonical.com" <apw@canonical.com>,
"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
"kys@microsoft.com" <kys@microsoft.com>,
"martin.petersen@oracle.com" <martin.petersen@oracle.com>,
"stable@vger.kernel.org" <stable@vger.kernel.org>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
"ohering@suse.com" <ohering@suse.com>,
"jasowang@redhat.com" <jasowang@redhat.com>
Subject: Re: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16
Date: Wed, 16 Jul 2014 14:53:47 +0000 [thread overview]
Message-ID: <1405522426.2225.10.camel@jarvis.lan> (raw)
In-Reply-To: <20140716110111.GA7382@infradead.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2221 bytes --]
On Wed, 2014-07-16 at 04:01 -0700, hch@infradead.org wrote:
> On Sun, Jul 13, 2014 at 08:58:34AM -0400, Martin K. Petersen wrote:
> > >>>>> "KY" == KY Srinivasan <kys@microsoft.com> writes:
> >
> > KY> Windows hosts do support UNMAP and set the field in the
> > KY> EVPD. However, since the host advertises SPC-2 compliance, Linux
> > KY> does not even query the VPD page.
> >
> > >> If we want to enable UNMAP in this case I'd prefer a blacklist entry
> > >> than trying UNMAP despite the device not advertising it.
> >
> > I agree with that. We could do something like the patch below.
> >
> > However, I do think it's a good idea that you guys are looking into
> > reporting SPC-3.
>
> KY mentioned that they have a prototype for that now.
>
> Btw, I looked over sd.c a bit more, and I think I understand why they
> get the WRITE SAME commands now:
>
> read_capacity_16 calls sd_config_discard(sdkp, SD_LBP_WS16) if the LPBME
> bit is set. At least older SBC drafts left it wide open if a target
> supports WRITE SAME with UNMAP or UNMAP in this case. So I think we'd
> still want a patch to use UNMAP instead of WRITE SAME for this case,
> which should also fix hyperv. Below is the quick hack version of that
> that just checks the host no_write_same flag, as the one on the device
> isn't set yet - I guess we need to refactor some of that logic.
>
>
> diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> index 87566b5..4480fdf 100644
> --- a/drivers/scsi/sd.c
> +++ b/drivers/scsi/sd.c
> @@ -2035,7 +2035,10 @@ static int read_capacity_16(struct scsi_disk *sdkp, struct scsi_device *sdp,
> if (buffer[14] & 0x40) /* LBPRZ */
> sdkp->lbprz = 1;
>
> - sd_config_discard(sdkp, SD_LBP_WS16);
> + if (sdp->host->no_write_same)
> + sd_config_discard(sdkp, SD_LBP_UNMAP);
> + else
> + sd_config_discard(sdkp, SD_LBP_WS16);
Right, I already said this was the problem: that was the reason for my
patch. However, there are a couple of other cases (including the /sys
entry) which is why I patched sd_config_discard instead.
James
ÿôèº{.nÇ+·®+%Ëÿ±éݶ\x17¥wÿº{.nÇ+·¥{±þG«éÿ{ayº\x1dÊÚë,j\a¢f£¢·hïêÿêçz_è®\x03(éÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?¨èÚ&£ø§~á¶iOæ¬z·vØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?I¥
next prev parent reply other threads:[~2014-07-16 14:53 UTC|newest]
Thread overview: 68+ 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 ` [PATCH 1/8] Drivers: scsi: storvsc: Change the limits to reflect the values on the host 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 8:40 ` Christoph Hellwig
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 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 8:43 ` Christoph Hellwig
2014-07-09 19:52 ` KY Srinivasan
2014-07-09 19:56 ` James Bottomley
2014-07-09 21:14 ` KY Srinivasan
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 22:12 ` James Bottomley
2014-07-11 6:32 ` hch
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 18:49 ` 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 14:53 ` James Bottomley [this message]
2014-07-16 15:44 ` Martin K. Petersen
2014-07-16 17:38 ` hch
2014-07-16 17:47 ` Martin K. Petersen
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-17 7:42 ` hch
2014-07-17 12:41 ` Martin K. Petersen
2014-07-16 18:45 ` Martin K. Petersen
2014-07-16 18:50 ` James Bottomley
2014-07-16 19:08 ` Martin K. Petersen
2014-07-16 19:14 ` James Bottomley
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 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 8:44 ` Christoph Hellwig
2014-07-09 18:51 ` KY Srinivasan
2014-07-10 10:13 ` Christoph Hellwig
2014-07-10 22:26 ` KY Srinivasan
2014-07-11 9:52 ` Hannes Reinecke
2014-07-11 9:54 ` Christoph Hellwig
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: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 8:44 ` Christoph Hellwig
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-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 8:46 ` Christoph Hellwig
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 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=1405522426.2225.10.camel@jarvis.lan \
--to=jbottomley@parallels.com \
--cc=apw@canonical.com \
--cc=devel@linuxdriverproject.org \
--cc=hch@infradead.org \
--cc=jasowang@redhat.com \
--cc=kys@microsoft.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--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