Skip to content

Conversation

@bgurney-rh
Copy link
Contributor

A controller that uses a 128-bit Host Identifier may result in the "nvme resv-report" command failing with a "Host Identifier Inconsistent Format" error that suggests the "simultaneous use of 64-bit and 128-bit Host Identifier values on different controllers".

This error can be avoided if the "--eds" option is used, to request the extended data structure. However, the controller's ctratt value indicates whether the Host Identifier is 64 bits or 128 bits. Therefore, check the ctratt flag, and set eds to true if the controller indicates a 128-bit Host Identifier.

A controller that uses a 128-bit Host Identifier may result in the
"nvme resv-report" command failing with a "Host Identifier Inconsistent
Format" error that suggests the "simultaneous use of 64-bit and
128-bit Host Identifier values on different controllers".

This error can be avoided if the "--eds" option is used, to request
the extended data structure.  However, the controller's ctratt
value indicates whether the Host Identifier is 64 bits or 128 bits.
Therefore, check the ctratt flag, and set eds to true if the
controller indicates a 128-bit Host Identifier.

Signed-off-by: Bryan Gurney <[email protected]>
@igaw
Copy link
Collaborator

igaw commented Jan 22, 2025

Just one remark for my future me. The arg parser is not able to express bool command options to false. Thus the user can't explicitly disable it but explicitly enable eds. With this change if the controller supports 128 bits identifier it will always pick this one. I don't thinks this is a real issue.

@igaw igaw merged commit 7057e6c into linux-nvme:master Jan 22, 2025
17 checks passed
@igaw
Copy link
Collaborator

igaw commented Jan 22, 2025

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants