Note Reserved1 field in DSTORAGE_REQUEST_OPTIONS#2167
Conversation
…UEST_OPTIONS` While the notes down below mention this `UINT8[7] Reserved1` field, it's not in the top-level struct "declaration sample" making it very confusing to relate how the fields are laid out (with the recent addition of GACL shuffle transform); especially because `Reserved : 48` was mentioned. Also note that that `48` was likely a typo; the field size is `56` such that together with `SourceType : 1` and `DestinationType : 7` it forms a full 64-bit integer.
Reserved1 field and fix Reserved field size in `DSTORAGE_REQ…Reserved1 field and fix Reserved field size in DSTORAGE_REQUEST_OPTIONS
|
@MarijnS95 : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change. |
|
@MarijnS95 : Thanks for your contribution! The author(s) and reviewer(s) have been notified to review your proposed change. |
|
Thanks for the contribution @MarijnS95 — you're right that However, the Could you update the PR to keep the |
|
Hi @GrantMeStrength; the reason I corrected that is because it is listed (corrected) that way in the 1.4.0 preview as well. But by that logic the new Gacl field might need to be mentioned as well even though the release is still in preview. Let me know if that justifies this change, or if it should really be undone and reapplied when the 1.4.0 headers come out of preview. |
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the DirectStorage documentation for DSTORAGE_REQUEST_OPTIONS to make the struct layout clearer and correct the reserved bitfield width.
Changes:
- Added the missing
UINT8[7] Reserved1field to the top-level declaration sample. - Corrected
Reservedbitfield size from48to56to complete a 64-bit block with the other bitfields.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
GrantMeStrength
left a comment
There was a problem hiding this comment.
Thanks for adding the missing Reserved1[7] field — that part is correct and matches the actual SDK header.
However, Reserved : 48 should stay as 48, not 56. Two independent mirrors of the current DirectStorage header both show UINT64 Reserved : 48. The 64-bit block is 1+7+48=56 bits, with 8 bits intentionally left for future use.
The PR author's reasoning ("1+7+56=64 fills the full UINT64") assumes no slack bits, but the actual SDK deliberately leaves those 8 bits unused.
Please revert the bit count change and the Reserved1[7] addition will be a clean, correct fix on its own.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Thanks for the context @MarijnS95. The 1.4.0 preview headers do show 56 — but the current released SDK (10.0.26100.0) still has |
Reserved1 field and fix Reserved field size in DSTORAGE_REQUEST_OPTIONSReserved1 field in DSTORAGE_REQUEST_OPTIONS
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| DSTORAGE_REQUEST_SOURCE_TYPE SourceType : 1; | ||
| DSTORAGE_REQUEST_DESTINATION_TYPE DestinationType : 7; | ||
| UINT64 Reserved : 48; |
While the notes down below mention this
UINT8[7] Reserved1field, it's not in the top-level struct "declaration sample" making it very confusing to relate how the fields are laid out (with the recent addition of GACL shuffle transform); especially becauseReserved : 48was mentioned.Also note that that
48was likely a typo; the field size is56such that together withSourceType : 1andDestinationType : 7it forms a full 64-bit integer.