On Tue, Jul 03, 2012 at 11:49:00AM -0400, Alan Stern wrote: > On Tue, 3 Jul 2012, James Bottomley wrote: > > > > What happened is that T10 > > > in their infinite wisdom decided to put things like "supports TRIM" and > > > "is actually a 4k block size but fakes 512 byte blocks" in the Read > > > Capacity 16 results. So if we want to support those kinds of things > > > (and I think we do), then we need to send Read Capacity 16 to devices. > > > > But anyway, we're stuck ... we have to send RC16 first to support these > > features. We did protest to T10 at the time, but to no avail. > > Does it have to be sent _first_? > > Or would it be okay to send _both_ commands and believe the RC10 > capacity rather than the RC16 capacity if they differ? I have no problem with doing that (and believing RC16 over RC10 if RC10 claims 0xffffffff, naturally). The problem, as I understand it, is that some devices crash upon receiving RC16 rather than just returning nonsense. > > I still think a whitelist of USB devices sending proper SCSI level > > information in the inquiry might be the best way forward. > > I'm doubtful. It wouldn't be at all surprising for devices to claim > they support a particular level when in fact they support some but not > all of the required commands. Then what do you do? Put them on the > whitelist because of the commands they support, or leave them off > because of the other ones? What happens later on when you decide to > use more of the required commands? SCSI has a fairly extensive collection of black/white list flags already ... see scsi_devinfo.[ch]. -- Matthew Wilcox Intel Open Source Technology Centre "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html