Message ID | fad634a7912265e87a8e7f3c3c9db21c1494d9ad.1644271559.git.alison.schofield@intel.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add partitioning support for CXL memdevs | expand |
On Mon, Feb 7, 2022 at 3:06 PM <alison.schofield@intel.com> wrote: > > From: Alison Schofield <alison.schofield@intel.com> > > 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 <alison.schofield@intel.com> > --- > 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 >
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; - 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)