On Mon, Feb 7, 2022 at 3:06 PM <[email protected]> wrote: > > From: Alison Schofield <[email protected]> > > Per the CXL specification, the partition alignment field reports > the alignment value in multiples of 256MB. In the libcxl API, values > for all capacity fields are defined to return bytes. > > Update the partition alignment accessor to return bytes so that it > is in sync with other capacity related fields.
Perhaps a note that the expectation is that this early in the development cycle the expectation is that no third party consumers of this library have come to depend on the encoded capacity field. > > Signed-off-by: Alison Schofield <[email protected]> > --- > cxl/lib/libcxl.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/cxl/lib/libcxl.c b/cxl/lib/libcxl.c > index e9d7762..307e5c4 100644 > --- a/cxl/lib/libcxl.c > +++ b/cxl/lib/libcxl.c > @@ -2306,7 +2306,7 @@ CXL_EXPORT unsigned long long > cxl_cmd_identify_get_partition_align( > if (cmd->status < 0) > return cmd->status; Hmm, I like that this function does "if ()" instead of "? :", however, it seems it also needs to be fixed to return ULLONG_MAX in the error case. The status will otherwise be misinterpreted as the alignment. > > - return le64_to_cpu(id->partition_align); > + return capacity_to_bytes(id->partition_align); > } > > CXL_EXPORT unsigned int cxl_cmd_identify_get_label_size(struct cxl_cmd *cmd) > -- > 2.31.1 >
