From mboxrd@z Thu Jan 1 00:00:00 1970 From: James Bottomley Subject: Re: [ 38/48] SCSI & usb-storage: add try_rc_10_first flag Date: Mon, 2 Jul 2012 20:39:28 +0000 Message-ID: <1341261568.3319.7.camel@dabdike> References: <20120701172012.078559139@decadent.org.uk> <4FF14957.3040007@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx2.parallels.com ([64.131.90.16]:41308 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750985Ab2GBUje (ORCPT ); Mon, 2 Jul 2012 16:39:34 -0400 In-Reply-To: Content-Language: en-US Content-ID: <4AC73CCCAC89764EBBD7F29EBA180AEA@sw.swsoft.com> Sender: linux-scsi-owner@vger.kernel.org List-Id: linux-scsi@vger.kernel.org To: Linus Torvalds Cc: Hans de Goede , Ben Hutchings , "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" , "akpm@linux-foundation.org" , "alan@lxorguk.ukuu.org.uk" , Alan Stern , Matthew Dharm , Greg Kroah-Hartman , linux-scsi T24gTW9uLCAyMDEyLTA3LTAyIGF0IDExOjUyIC0wNzAwLCBMaW51cyBUb3J2YWxkcyB3cm90ZToN Cj4gT24gTW9uLCBKdWwgMiwgMjAxMiBhdCAxMjoxMCBBTSwgSGFucyBkZSBHb2VkZSA8aGRlZ29l ZGVAcmVkaGF0LmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBTbyBzaW5jZSAzLjIgYWxyZWFkeSB0cmll cyBSRUFEX0NBUEFDSVRZKDEwKSBmaXJzdCwgdGhpcyBwYXRjaCBpcw0KPiA+IG5vdCBuZWVkZWQu IEl0IGRvZXMgbm90IGhhcm0gZWl0aGVyLCBhbmQgaWYgdGhlIHNjc2kgbGV2ZWwgcmVwb3J0aW5n DQo+ID4gY2hhbmdlIGV2ZXIgZmluZHMgaXRzIHdheSBpbnRvIDMuMiBzdGFibGUgKHdoaWNoIGl0 IHNob3VsZCBub3QNCj4gPiBJTUhPKSwgdGhlbiB0aGlzIHBhdGNoIHdpbGwgYmUgbmVlZGVkLg0K PiANCj4gWWVhaCwgaXQgc2hvdWxkIGRlZmluaXRlbHkgbm90IG1ha2UgaXQgaW50byBzdGFibGUu IEluIGZhY3QsIEknZA0KPiByYXRoZXIgcmVtb3ZlIGl0IGZyb20gbWFpbmxpbmUgdG9vLiBUaGUg d2hvbGUgaWRlYSB0byBkbw0KPiBSRUFEX0NBUEFDSVRZXzE2IGJ5IGRlZmF1bHQgd2FzIG1vcm9u aWMuDQo+IA0KPiBKYW1lcz8gV2h5IGRvZXMgdGhlIFNDU0kgc3Vic3lzdGVtIGFsd2F5cyBkbyB0 aGVzZSBpZGlvdGljIGRlZmF1bHRzPw0KPiBXZSAqa25vdyogdGhhdCBkZXZpY2VzIGFyZSBidWdn eS4gU3VyZSwgVVNCIHN0b3JhZ2UgdGVuZHMgdG8gYmUNCj4gYnVnZ2llciB0aGFuIG1vc3QsIGJ1 dCB0aGUgd2hvbGUgaWRlYSBvZiAibGV0J3MgdXNlIHRoZSBuZXcgd2F5IG9mDQo+IHJlcG9ydGlu ZyB0aGF0IGdldHMgYWxtb3N0IG5vIHRlc3RpbmciIGlzIGp1c3Qgd3JvbmcuDQoNCkl0J3Mgbm90 IGlkaW90aWMuICBJdCdzLCB1bmZvcnR1bmF0ZWx5LCByZXF1aXJlZCBieSB0aGUgc3RhbmRhcmQg dG8NCmNoZWNrIGZvciBwcm90ZWN0aW9uIGNhcGFibGUgZGV2aWNlcy4gIEl0J3MgYmVlbiB0aGlz IHdheSBmb3IgdGhyZWUNCnllYXJzIG9yIHNvLiAgTWFydGluIFBldGVyc2VuIGRpZCBleHRlbnNp dmUgdGVzdGluZyBvZiBkZXZpY2VzIHdoZW4gd2UNCmNoYW5nZWQgaXQgYW5kIGRvaW5nIFJDMTYg Zmlyc3QgaXMgaGVkZ2VkIGFyb3VuZCBieSBjbGFpbWluZyBzdXBwb3J0IG5vdA0Kb25seSBmb3Ig U0NTSV8zIGJ1dCBhbHNvIGZvciBTQkNfMiBpbiB5b3VyIElOUVVJUlkgZGF0YS4NCg0KVGhlIHBy b2JsZW0gc2VlbXMgdG8gYmUgdGhhdCB3aGVuIGFsbCB0aGUgdGVzdGluZyB3YXMgZG9uZSwgVVNC IHdhcw0Kc3RpbGwgYWx3YXlzIHJldHVybmluZyBTQ1NJXzIgaW4gdGhlIGlucXVpcnkgZGF0YSwg YnV0IHRoaXMgZ290IGNoYW5nZWQNCnRvIGFsbG93IHBhc3MgdGhyb3VnaCBvZiB0aGUgYWN0dWFs IHZlbmRvciBpbmZvcm1hdGlvbi4NCg0KPiBJIGRvbid0IHRoaW5rIHRoZSBVU0IgbGF5ZXIgc2hv dWxkIGhhdmUgbmVlZGVkIHRvIHdvcmsgYXJvdW5kIHRoaXMuIEkNCj4gZG9uJ3QgdGhpbmsgdGhl cmUgc2hvdWxkIGJlIGEgInRyeV8xMGIiIGZsYWcgYXQgYWxsLiBJIHRoaW5rIHRoZSBTQ1NJDQo+ IGNvZGUgc2hvdWxkIGp1c3QgKm5ldmVyKiBkbyB0aGUgMTZiIHZlcnNpb24gdW5sZXNzIGl0IGhh cyBkb25lIHRoZSAxMGINCj4gdmVyc2lvbiBmaXJzdCBhbmQgZGV0ZXJtaW5lZCB0aGF0IHRoZSBz aXplIGRvZXNuJ3QgZml0Lg0KDQpJZiB3ZSBkaWQgdGhhdCwgd2UnZCByZWdyZXNzIG9uIGFsbCB0 aGUgZW50ZXJwcmlzZSBjbGFzcyBkcml2ZXMgd2l0aCBESUYNCmFuZCBESVguDQoNCj4gQW5kIHRo ZSBjb2RlIGFscmVhZHkgaGFkIHRoYXQgbG9naWMgZ290IHRoZSByZWFkXzEwYiBjYXNlLiBUaGUg d2hvbGUNCj4gbG9naWMgdG8gZG8gMTZiIGJ5IGRlZmF1bHQgd2FzIGNyYXAuIEl0ICp1c2VkKiB0 byBhdCBsZWFzdCBvbmx5IGRvIGl0DQo+IGZvciBkaXNrcyB0aGF0IHdlcmUgbWFya2VkIGFzIGhh dmluZyAicHJvdGVjdGlvbiIsIG5vdyBpdCB3YW50cyB0byBkbw0KPiBpdCBmb3IgYW55dGhpbmcg dGhhdCBzaG91bGQgYmUgYWJsZSB0byBoYW5kbGUgaXQuIFdoaWNoIGlzIGJvZ3VzLiBUaGUNCj4g d2hvbGUgImxldCdzIGFzc3VtZSBkZXZpY2VzIGdldCBpdCByaWdodCIgbWluZHNldCBpcyBicm9r ZW4uDQo+IA0KPiBUaGUgbWluZHNldCBzaG91bGQgYmUgImxldCdzIGFzc3VtZSBkZXZpY2VzIGFy ZSBidWdneSwgYW5kIGJlIGNhcmVmdWwiLg0KDQpJdCBzdGlsbCBpcywgdGhhdCdzIHdoeSB3ZSBk aWQgZXh0ZW5zaXZlIHRlc3RpbmcgdGhyZWUgeWVhcnMgYWdvIGJlZm9yZQ0KY2hhbmdpbmcgaXQu DQoNCklmIHlvdSBoYXZlIGEgc29sdXRpb24gdGhhdCBkb2Vzbid0IGJyZWFrIGFsbCB0aGUgZW50 ZXJwcmlzZSBkZXZpY2VzIGJ1dA0Kd29ya3MgYmV0dGVyIGZvciBVU0IsIEknbSBsaXN0ZW5pbmcu ICBJIHRoaW5rIHRoZSBiZXN0IHRoaW5nIG1pZ2h0IGJlIHRvDQp3aGl0ZWxpc3QgdGhlIHNjc2kg cmV2aXNpb24gcGFzcyB0aHJvdWdoIGluIFVTQiwgc28gb25seSB0aGUgVUFTIGRldmljZXMNCndo aWNoIHJlYWxseSwgcmVhbGx5IGNsYWltIHRvIGtub3cgd2hhdCB0aGV5J3JlIGRvaW5nIGFkdmVy dGlzZSBhZHZhbmNlZA0KZmVhdHVyZXMuDQoNCkphbWVzDQoNCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756240Ab2GBUjg (ORCPT ); Mon, 2 Jul 2012 16:39:36 -0400 Received: from mx2.parallels.com ([64.131.90.16]:41308 "EHLO mx2.parallels.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750985Ab2GBUje (ORCPT ); Mon, 2 Jul 2012 16:39:34 -0400 From: James Bottomley To: Linus Torvalds CC: Hans de Goede , Ben Hutchings , "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" , "akpm@linux-foundation.org" , "alan@lxorguk.ukuu.org.uk" , Alan Stern , Matthew Dharm , Greg Kroah-Hartman , linux-scsi Subject: Re: [ 38/48] SCSI & usb-storage: add try_rc_10_first flag Thread-Topic: [ 38/48] SCSI & usb-storage: add try_rc_10_first flag Thread-Index: AQHNV7W6AEZudwRw/0ypJsN183sp8JcWCWKAgADELICAAB3sAA== Date: Mon, 2 Jul 2012 20:39:28 +0000 Message-ID: <1341261568.3319.7.camel@dabdike> References: <20120701172012.078559139@decadent.org.uk> <4FF14957.3040007@redhat.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [194.186.187.194] Content-Type: text/plain; charset="utf-8" Content-ID: <4AC73CCCAC89764EBBD7F29EBA180AEA@sw.swsoft.com> MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id q62Ke0Zo011266 On Mon, 2012-07-02 at 11:52 -0700, Linus Torvalds wrote: > On Mon, Jul 2, 2012 at 12:10 AM, Hans de Goede wrote: > > > > So since 3.2 already tries READ_CAPACITY(10) first, this patch is > > not needed. It does not harm either, and if the scsi level reporting > > change ever finds its way into 3.2 stable (which it should not > > IMHO), then this patch will be needed. > > Yeah, it should definitely not make it into stable. In fact, I'd > rather remove it from mainline too. The whole idea to do > READ_CAPACITY_16 by default was moronic. > > James? Why does the SCSI subsystem always do these idiotic defaults? > We *know* that devices are buggy. Sure, USB storage tends to be > buggier than most, but the whole idea of "let's use the new way of > reporting that gets almost no testing" is just wrong. It's not idiotic. It's, unfortunately, required by the standard to check for protection capable devices. It's been this way for three years or so. Martin Petersen did extensive testing of devices when we changed it and doing RC16 first is hedged around by claiming support not only for SCSI_3 but also for SBC_2 in your INQUIRY data. The problem seems to be that when all the testing was done, USB was still always returning SCSI_2 in the inquiry data, but this got changed to allow pass through of the actual vendor information. > I don't think the USB layer should have needed to work around this. I > don't think there should be a "try_10b" flag at all. I think the SCSI > code should just *never* do the 16b version unless it has done the 10b > version first and determined that the size doesn't fit. If we did that, we'd regress on all the enterprise class drives with DIF and DIX. > And the code already had that logic got the read_10b case. The whole > logic to do 16b by default was crap. It *used* to at least only do it > for disks that were marked as having "protection", now it wants to do > it for anything that should be able to handle it. Which is bogus. The > whole "let's assume devices get it right" mindset is broken. > > The mindset should be "let's assume devices are buggy, and be careful". It still is, that's why we did extensive testing three years ago before changing it. If you have a solution that doesn't break all the enterprise devices but works better for USB, I'm listening. I think the best thing might be to whitelist the scsi revision pass through in USB, so only the UAS devices which really, really claim to know what they're doing advertise advanced features. James {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I