I have a hard drive which I know has 4Tb capacity, but is only showing on my Solaris 11.3 x86 system as having 2Tb.

format -e yields the following:

c1t2d0: configured with capacity of 2047.89GB
2. c1t2d0 <ATA-ST4000LM016-1N21-0003 cyl 53467 alt 2 hd 255 sec 315>

and the inquiry subcommand outputs:

Vendor: ATA     
Product: ST4000LM016-1N21
Revision: 0003

The datasheet here indicates the physical block size is 4096, so I have edited both /kernel/drv/sd.conf and /etc/driver/drv/sd.conf with the following two lines at the end:

# 4k override
sd-config-list = "ATA     ST4000LM016-1N21", "physical-block-size:4096";

however even after a reconfiguration boot (touch /reconfigure && reboot) the physical block size is still showing as 512:

# devprop -n /dev/rdsk/c1t2d0p0 device-blksize device-pblksize

/var/adm/messages contain the following relevant lines:

May  5 21:43:23 proliant1 devfsadmd[265]: [ID 393209 daemon.error] failed to add the property sd-config-list to event attributes
May  5 21:48:53 proliant1 genunix: [ID 408114 kern.info] /pci@0,0/pci1022,9603@2/pci1000,3140@0/sd@2,0 (sd7) online
May  5 21:50:53 proliant1 genunix: [ID 936769 kern.info] sd7 is /pci@0,0/pci1022,9603@2/pci1000,3140@0/sd@2,0

So, do I have a syntax error in my sd.conf? Is sd.conf the correct place to specify this information?

  • Given the output from format's inquiry subcommand is ST4000LM016-1N21, you probably need to use "ATA ST4000LM016-1N21" instead of "ATA ST4000LM016" in sd.conf. – Andrew Henle May 6 at 11:17
  • I did try that as well. I can't re-find the reference source, but some of the Solaris 11.3 documentation says the device name needs to be 16 characters and other parts say if it is shorter then the json match will be everything which starts with the supplied string. – nickcrabtree May 7 at 14:27
  • docs.oracle.com/cd/E53394_01/html/E54818/chapterzfs-flash.html sd-config-list="ATA MARVELL SD88SA02" Carefully add whitespace to make the vendor ID (VID) 8 characters long (here ATA) and Product ID (PID) 16 characters long (here MARVELL) in the sd-config-list entry as illustrated. So you need ATA ST4000LM016-1N21 ... the string must be 24 chars, with sufficient whitespace between ATA and the ref, you have 25. – thecarpy May 7 at 14:42
  • 1
    docs.oracle.com/cd/E53394_01/html/E54792/gouae.html says "the PID can contain a maximum of 16 left-adjusted characters. If you provide less than 16 characters, then the comparison is limited to the length of the PID that you have provided." Conflicting information within the Solaris 11.3 documentation – nickcrabtree May 7 at 16:13
  • Indeed, and you have 24 characters, which seems correct, NOT 25, my bad ... I now hate off-by one errors. – thecarpy May 7 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.