Bug #3556
openProblem w/ 3 TB 4k sector USB disk on oi_151a7
0%
Description
format(1m) reports disk (Toshiba Canvio) as 4kB sector and creates EFI label per EFI spec at 0x1000. prtvtoc & ftmhard correctly access the EFI label at the 4kB boundaries.
However, dd(1) is unable to access the s0 slice unless a copy of the first 512 bytes of LBA 1 is placed at absolute offset 0x200 w/ the first 512 bytes of LBA 2 at 0x400. (note: failed to test just copying the slice data)
Adding an entry in sd-config-list configured the device as:
un_sys_blocksize = 0x200
un_tgt_blocksize = 0x1000
un_phy_blocksize = 0x1000
but
dd if=/dev/zero of=/dev/rdsk/c5t0d0s0 bs=64k count=1000
produces ~1.6 MB/s which is slower than seen w/ the default configuration. The s0 write produces no messages. Attempting to create a pool on c5t0d0s0 fails w/ a message in messages "Request rejected: too large for CDB".
W/ default configuration:
un_sys_blocksize = 0x1000
un_tgt_blocksize = 0x1000
un_phy_blocksize = 0x200
dd reports 27 MB/s and pool creation succeeds, but the system logs read-modify-write messages. One message for writing 100000 64kB blocks to s0 and lots of them for writing to the pool. Write to pool was at 5.6 MB/s.
System (HP N40L) reports 199 MB/s writing to 3 disk RAIDZ on SATA disks
(ST2000DM001) for which sd(7) has configured:
un_sys_blocksize = 0x200
un_tgt_blocksize = 0x200
un_phy_blocksize = 0x1000
but w/o requiring an sd-config-list entry in sd.conf.