Questions about firmware and LU is resource provisioned, LBPRZ=0

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

mr44er

Active Member
Feb 22, 2020
135
43
28
Homelabber here (maybe longer than the word exists). I wouldn't call me a pro, but usually I know one or two things more.

For my ZFSpool(s) I always buy used SAS-disks when a good deal comes up, just to have enough spares or to be prepared when I need to grow the pool (again). I know about the differences to SATA, the debate about robustness (backblaze-stats! :p), vs. sweet things like expanders, daisy-chained shelves and dualport. If some disks from the batch are DOA or ran many hours, I don't care, still a good deal if the price is right. Some folks will get nervous, when a disk reaches the 40000h-mark, I have disks in perfect condition running nearly 90000h and many more in the 60000h range.

In the past I had no trouble to flash/crossflash (stock)-firmware on anything. Yes, my HBAs are in IT-mode. Another story with netapp-branded HGST disks, those with the X$$$-designation, instead of Hitachi/HGST. The designation wasn't my problem, reformating to 512b also worked, but it was the first and oldest firmware they had with a not intended timebomb-bug. Stock-FW wasn't accepted, but I was able to extract the last firmware from an old ontap-archive that fixed this bug. Luckily it was a .lod-file, which just worked with camcontrol. The only difference were some modepage-settings, but the drives saved and accepted my manual settings. So I decided to live with that and try it out productive. That was four years ago, no negative occurences.
I tried that same procedure with different brands and their filers (IBM-ESXS, Seagate) out of curiosity, sometimes stock-FW works, all good. If not, flash the latest firmware from their package, reformat (kill protection mode1 and 2), set modepages, also good, just works, no pain.

From an earlier purchase and already in productive I have the 2TB-version (HUS724020ALS640). These were all original and came with FW A280, I was able to flash MPGNA3A0.bin onto them. I have the files A280, A320 and A3A0 laying around, where I think A3A0 is the latest (2016?). I also know that these files fit for the 2TB, 3TB and 4TB models. Tried that and also flashing older fw works.

Now from the intro-blabla to question/problem. ;) With my latest purchase I am unsure with what I am dealing.
It is a batch of HGST HUS724030ALS640 (3TB), some are original, some are DELL-branded and locked (designation is 1:1, only the firmware differs).

All of them came formatted with 512b, but showed this in smartctl:
Code:
...
Logical block size:   512 bytes
LU is resource provisioned, LBPRZ=0   <- what evil threat is this?
Rotation Rate:        7200 rpm
...
The original ones came with FW A124, they accepted the MPGNA3A0.bin and after that everything was gone and good (against my expectation that this would be a formatting-thing):

smartctl -q noserial -x:
Code:
...
=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS724030ALS640
Revision:             A3A0
Compliance:           SPC-4
User Capacity:        3,000,592,982,016 bytes [3.00 TB]
Logical block size:   512 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Fri May 26 14:40:36 2023 CEST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Enabled
Read Cache is:        Enabled
Writeback Cache is:   Enabled
...
Now the problematic DELL version:

smartctl -q noserial -x:
Code:
...
=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS724030ALS640
Revision:             W1CG
Compliance:           SPC-4
User Capacity:        3,000,592,982,016 bytes [3.00 TB]
Logical block size:   512 bytes
LU is resource provisioned, LBPRZ=0
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Fri May 26 14:47:56 2023 CEST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported
Read Cache is:        Enabled
Writeback Cache is:   Disabled
It doesn't accept any of the stock-FW, tried all the three files. I have found a MPDLW2F0.fwh in a DELL-package, but that is no .bin and no .lod, it does not work. Seems it only works with their flash software.
At this point maybe I don't want that W2F0 at all for these drives, because newer vendor-locked fw means potentially better locks and a closed way back to stock. I know about the bug in W1CG with the possible wrong SMART-entry after an extended scan.

After some digging and reading I know that it should be possible to change the firmware, but is it worth the effort? I know about this user and thread over at hddguru.com, but I want to find out myself...if it is necessary. I just don't like the method of solving problems with money. ;)
Is this LU is resource provisioned, LBPRZ=0 a problem tomorrow, if I just use the drives without preparation? Is this just a modepage-setting I haven't found yet?
 
  • Like
Reactions: Filez

mr44er

Active Member
Feb 22, 2020
135
43
28
Kept digging, found a solution.

LU is resource provisioned, LBPRZ=0 is more or less a false 'alarm'. I found an old explanation and it's indeed confusing:

NOTES
The response to READ CAPACITY(16) contains a LBPRZ bit in the SBC-3
standard (ANSI INCITS 514-2014). There was also a LBPRZ bit with the
same meaning in the Logical block provisioning VPD page (0xb2). Then
somewhat confusingly T10 expanded the LBPRZ bit to a 3 bit field in
SBC-4 draft revision 7, but only in the LB provisioning VPD page. The
reason for the expansion was to report a new "provisioning initializa-
tion pattern" state (when an unmapped logical block is read). The new
state has been assigned LBPRZ=2 in the VPD page and it re-uses LBPRZ=0
in the READ CAPACITY(16) response. LBPRZ=1 retains the same meaning for
both variants, namely that a block of zeroes will be returned when an
unmapped logical block is read.

Furthermore I found even newer firmware W350 @ HGST W350 for model number(s) HUS724020ALS640, HUS724030ALS640 and HUS724040ALS640. | Driver Details | Dell Canada

sg_write_buffer failed, but it's getting hot. Those files have a header for the dellflasher, so it can't work.
After stripping some bits, everything works as expected:

Code:
=== START OF INFORMATION SECTION ===
Vendor:               HGST
Product:              HUS724030ALS640
Revision:             W350
Compliance:           SPC-4
User Capacity:        3,000,592,982,016 bytes [3.00 TB]
Logical block size:   512 bytes
LU is fully provisioned
Rotation Rate:        7200 rpm
Form Factor:          3.5 inches
Device type:          disk
Transport protocol:   SAS (SPL-3)
Local Time is:        Sun May 28 01:54:41 2023 CEST
SMART support is:     Available - device has SMART capability.
SMART support is:     Enabled
Temperature Warning:  Disabled or Not Supported
Read Cache is:        Enabled
Writeback Cache is:   Disabled
No LU is resource provisioned, LBPRZ=0, YAY! :D

I attached this pseudo-modded as .lod for future research.
If you don' trust a random guy on the internet, check out the screenshot and rip out the marked area as shown with a hex editor for your own experience. . :)
 

Attachments

  • Like
Reactions: Filez

mr44er

Active Member
Feb 22, 2020
135
43
28
After flashing some more of the drives, I noticed two things:
Be patient, smartctl checked too fast after the flashing shows User Capacity: 2,199,023,255,552 bytes [2.19 TB], after some seconds more, it should be back on 3TB :p

and dmesg:
sd 0:0:37:0: Operating parameters on this target have changed. The Linux SCSI layer does not automatically adjust these parameters.
 
  • Like
Reactions: Filez