Hi Mikulas! > The purpose of this patch is to avoid doing I/O not aligned on 4k > boundary. > > The 512-byte value that some SSDs report is just lie. So is 4K, though. > Some USB-SATA bridges report optimal I/O size 33553920 bytes (that is > 512*65535). If you connect a SATA SSD that reports 512-bytes physical > sector size to this kind of USB-SATA bridge, the kernel will believe > that the value 33553920 is valid optimal I/O size and it will attempt > to align I/O to this boundary - the result will be that most of the > I/O will not be aligned on 4k, causing performance degradation. SCSI tries to make sure the characteristics reported by the device make sense and are consistent with each other. If we encounter a device which reports something incorrect despite passing the sanity checks, we quirk it. But I wonder why we're even reading the block limits if this is a USB device? -- Martin K. Petersen Oracle Linux Engineering