All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Elliott, Robert (Server Storage)" <Elliott@hp.com>
To: James Bottomley <jbottomley@parallels.com>,
	"martin.petersen@oracle.com" <martin.petersen@oracle.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"devel@linuxdriverproject.org" <devel@linuxdriverproject.org>,
	"apw@canonical.com" <apw@canonical.com>,
	"kys@microsoft.com" <kys@microsoft.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 18:43:43 +0000	[thread overview]
Message-ID: <94D0CD8314A33A4D9D801C0FE68B402958BA721F@G9W0745.americas.hpqcorp.net> (raw)
In-Reply-To: <1405533734.3165.12.camel@dabdike.int.hansenpartnership.com>



> -----Original Message-----
> From: linux-scsi-owner@vger.kernel.org [mailto:linux-scsi-
> owner@vger.kernel.org] On Behalf Of James Bottomley
> Sent: Wednesday, 16 July, 2014 1:02 PM
> To: martin.petersen@oracle.com
> Cc: linux-kernel@vger.kernel.org; hch@infradead.org;
> devel@linuxdriverproject.org; apw@canonical.com; kys@microsoft.com;
> stable@vger.kernel.org; linux-scsi@vger.kernel.org; ohering@suse.com;
> jasowang@redhat.com
> Subject: Re: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16
> 
> On Wed, 2014-07-16 at 13:47 -0400, Martin K. Petersen wrote:
> > >>>>> "Christoph" == hch@infradead org <hch@infradead.org> writes:
> >
> > Christoph> Oh, we actually have devices that support WRITE SAME with
> > Christoph> unmap, but not without?  That's defintively a little strange.
> >
> > Yep :(
> >
> > There were several SSDs that did not want to support wearing out flash
> > by writing gobs of zeroes and only support the UNMAP case.
> >
> > Christoph> Yes, and it did this intentionally.  I really wouldn't expect
> > Christoph> devices to support WRITE SAME with UNMAP but blow up on a
> > Christoph> WRITE SAME without it (and not just simple fail it in an
> > Christoph> orderly way).
> >
> > *sigh*
> >
> > Christoph> It definitively seems odd to default to trying WRITE SAME for
> > Christoph> unmap for a device that explicitly tells us that it doesn't
> > Christoph> support WRITE SAME.
> >
> > Maybe it's just a naming thing. I was really trying to convey
> > no_req_write_same support, not no_write_same_10_or_16.
> >
> > Christoph> Note that I'm not against your patch - I suspect forcing us
> > Christoph> to read EVPD pages even for devices that claim to be SPC-2
> > Christoph> will come in useful in various scenarios.
> >
> > I don't have a problem with a BLIST_PREFER_UNMAP flag or something like
> > that. But BLIST_TRY_VPD_PAGES seems more generally useful and it does
> > fix the problem at hand. That's why I went that route.
> 
> Hang on ... unless we apply Christoph or my fix, we'll get the same
> issue with every raid driver (that's about 10 I think) that set
> no_write_same when they hit a >2TB RAID volume, so I think we need both
> fixes.
> 
> James
> 

WRITE SAME with the UNMAP bit set to one (and a few other
conditions) guarantees that the data is zeroed out, while
the UNMAP command is just a hint.  They're not fully
interchangeable.  Which semantics are implied by REQ_DISCARD
and these functions?

One benefit of UNMAP is that UNMAP supports a list of 
discontiguous LBA ranges, whereas WRITE SAME just supports 
one LBA range.  sd_setup_discard_cmnd is not taking
advantage of this feature, though.  Ideally, the block
layer would merge multiple discards into one UNMAP command 
if they're stuck on the request queue for a while, like 
it merges adjacent reads and writes.  That would pave the way
for building up WRITE SCATTERED and READ GATHERED commands.



  reply	other threads:[~2014-07-16 18:45 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) [this message]
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
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=94D0CD8314A33A4D9D801C0FE68B402958BA721F@G9W0745.americas.hpqcorp.net \
    --to=elliott@hp.com \
    --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=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 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.