On Mon, Sep 26, 2016 at 09:25:11AM -0700, Christoph Hellwig wrote:
> On Mon, Sep 26, 2016 at 12:19:26PM -0400, Theodore Ts'o wrote:
> > Is this a problem with the hardware, or with the UAS driver?
> 
> UAS is just SCSI transport, and doesn't touch the content of command,
> so it's a very unlikely culprit.  The SCSI layer intreprets it, but I
> don't really think it's doing any of this either..  Your bridge most
> likely always reports 4k sectors when using UAS for some reason.
> 
> To verify this call sg_readcap on the device node for both the
> usb-storage and uas mode.

sg_readcap doesn't report the physical sector size, just the logical
block size:

# sg_readcap  /dev/sdd
Read Capacity results:
   Last logical block address=4000797359 (0xee7752af), Number of 
blocks=4000797360
   Logical block length=512 bytes
Hence:
   Device size: 2048408248320 bytes, 1953514.3 MiB, 2048.41 GB

And this is the same for both with and with UAS.

So with UAS we get:

# blockdev --getpbsz /dev/sdd
4096

...even though hdparm -I reports:

        Logical  Sector size:                   512 bytes
        Physical Sector size:                   512 bytes

I guess this is mostly cosmetic, since although lsblk -t reports:

# lsblk -t
NAME                    ALIGNMENT MIN-IO   OPT-IO PHY-SEC LOG-SEC ROTA SCHED 
RQ-SIZE  RA WSAME
sdd                             0   4096 33553920    4096     512    1 cfq      
 128 128   32M
├─sdd2                          0   4096 33553920    4096     512    1 cfq      
 128 128   32M
│ └─callcc_crypt               -1   4096        0    4096     512    1          
 128 128    0B

nothing is actually _breaking_ since the logical sector size is still
512, and the minimum I/O and physical sector size are performance
hints.

                                                        - Ted

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to