From: James Bottomley <jbottomley@parallels.com> To: "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:50:31 +0000 [thread overview] Message-ID: <1405536631.3165.23.camel@dabdike.int.hansenpartnership.com> (raw) In-Reply-To: <yq1bnsprvl1.fsf@sermon.lab.mkp.net> On Wed, 2014-07-16 at 14:45 -0400, Martin K. Petersen wrote: > >>>>> "James" == James Bottomley <jbottomley@parallels.com> writes: > > >> 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. > > James> Hang on ... unless we apply Christoph or my fix, we'll get the > James> same issue with every raid driver (that's about 10 I think) that > James> set no_write_same when they hit a >2TB RAID volume, > > no_write_same is set for all the RAID controller drivers (54b2b50c20a6). > > If a WRITE SAME(10/16) command fails and the UNMAP bit is not set we'll > set no_write_same=1 and disable REQ_WRITE_SAME support. > > If a WRITE SAME(10/16) command fails and the UNMAP bit is set we'll > disable REQ_DISCARD support. > > Not sure where the 10 vs. 16 byte 2TB limitation comes into play here? It's the code we identified in sd.c:read_capacity_16(): if (buffer[14] & 0x80) { /* LBPME */ sdkp->lbpme = 1; if (buffer[14] & 0x40) /* LBPRZ */ sdkp->lbprz = 1; sd_config_discard(sdkp, SD_LBP_WS16); } If the inquiry shows LBPME set, we'll do write same regardless of the no_write_same bit. That's why for SPC-2 devices it only shows up on >2TB devices because they force RC16. James
WARNING: multiple messages have this Message-ID (diff)
From: James Bottomley <jbottomley@parallels.com> To: "martin.petersen@oracle.com" <martin.petersen@oracle.com> 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>, "stable@vger.kernel.org" <stable@vger.kernel.org>, "ohering@suse.com" <ohering@suse.com>, "hch@infradead.org" <hch@infradead.org>, "apw@canonical.com" <apw@canonical.com>, "devel@linuxdriverproject.org" <devel@linuxdriverproject.org> Subject: Re: [PATCH 4/8] Drivers: scsi: storvsc: Filter WRITE_SAME_16 Date: Wed, 16 Jul 2014 18:50:31 +0000 [thread overview] Message-ID: <1405536631.3165.23.camel@dabdike.int.hansenpartnership.com> (raw) In-Reply-To: <yq1bnsprvl1.fsf@sermon.lab.mkp.net> On Wed, 2014-07-16 at 14:45 -0400, Martin K. Petersen wrote: > >>>>> "James" == James Bottomley <jbottomley@parallels.com> writes: > > >> 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. > > James> Hang on ... unless we apply Christoph or my fix, we'll get the > James> same issue with every raid driver (that's about 10 I think) that > James> set no_write_same when they hit a >2TB RAID volume, > > no_write_same is set for all the RAID controller drivers (54b2b50c20a6). > > If a WRITE SAME(10/16) command fails and the UNMAP bit is not set we'll > set no_write_same=1 and disable REQ_WRITE_SAME support. > > If a WRITE SAME(10/16) command fails and the UNMAP bit is set we'll > disable REQ_DISCARD support. > > Not sure where the 10 vs. 16 byte 2TB limitation comes into play here? It's the code we identified in sd.c:read_capacity_16(): if (buffer[14] & 0x80) { /* LBPME */ sdkp->lbpme = 1; if (buffer[14] & 0x40) /* LBPRZ */ sdkp->lbprz = 1; sd_config_discard(sdkp, SD_LBP_WS16); } If the inquiry shows LBPME set, we'll do write same regardless of the no_write_same bit. That's why for SPC-2 devices it only shows up on >2TB devices because they force RC16. James
next prev parent reply other threads:[~2014-07-16 18:50 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 [this message] 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=1405536631.3165.23.camel@dabdike.int.hansenpartnership.com \ --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: linkBe 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.