Message ID | 162982118423.1124374.11980785134458815600.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | cxl_test: Enable CXL Topology and UAPI regression tests | expand |
On Tue, 24 Aug 2021 09:06:24 -0700 Dan Williams <dan.j.williams@intel.com> wrote: > In the CXL namespace label there is no need for nlabel since that is > inferred from the region. Add a helper that moves nsl_get_label() behind > a helper that validates the number of labels relative to the region. > > Signed-off-by: Dan Williams <dan.j.williams@intel.com> Looks a bit pointless here but makes sense by patch 14. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > drivers/nvdimm/namespace_devs.c | 5 ++--- > drivers/nvdimm/nd.h | 7 +++++++ > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c > index d4959981c7d4..28ed14052e36 100644 > --- a/drivers/nvdimm/namespace_devs.c > +++ b/drivers/nvdimm/namespace_devs.c > @@ -1848,12 +1848,11 @@ static bool has_uuid_at_pos(struct nd_region *nd_region, const uuid_t *uuid, > > list_for_each_entry(label_ent, &nd_mapping->labels, list) { > struct nd_namespace_label *nd_label = label_ent->label; > - u16 position, nlabel; > + u16 position; > > if (!nd_label) > continue; > position = nsl_get_position(ndd, nd_label); > - nlabel = nsl_get_nlabel(ndd, nd_label); > > if (!nsl_validate_isetcookie(ndd, nd_label, cookie)) > continue; > @@ -1870,7 +1869,7 @@ static bool has_uuid_at_pos(struct nd_region *nd_region, const uuid_t *uuid, > return false; > } > found_uuid = true; > - if (nlabel != nd_region->ndr_mappings) > + if (!nsl_validate_nlabel(nd_region, ndd, nd_label)) > continue; > if (position != pos) > continue; > diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h > index ec3c9aad7f50..036638bdb7e3 100644 > --- a/drivers/nvdimm/nd.h > +++ b/drivers/nvdimm/nd.h > @@ -342,6 +342,13 @@ struct nd_region { > struct nd_mapping mapping[]; > }; > > +static inline bool nsl_validate_nlabel(struct nd_region *nd_region, > + struct nvdimm_drvdata *ndd, > + struct nd_namespace_label *nd_label) > +{ > + return nsl_get_nlabel(ndd, nd_label) == nd_region->ndr_mappings; > +} > + > struct nd_blk_region { > int (*enable)(struct nvdimm_bus *nvdimm_bus, struct device *dev); > int (*do_io)(struct nd_blk_region *ndbr, resource_size_t dpa, >
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c index d4959981c7d4..28ed14052e36 100644 --- a/drivers/nvdimm/namespace_devs.c +++ b/drivers/nvdimm/namespace_devs.c @@ -1848,12 +1848,11 @@ static bool has_uuid_at_pos(struct nd_region *nd_region, const uuid_t *uuid, list_for_each_entry(label_ent, &nd_mapping->labels, list) { struct nd_namespace_label *nd_label = label_ent->label; - u16 position, nlabel; + u16 position; if (!nd_label) continue; position = nsl_get_position(ndd, nd_label); - nlabel = nsl_get_nlabel(ndd, nd_label); if (!nsl_validate_isetcookie(ndd, nd_label, cookie)) continue; @@ -1870,7 +1869,7 @@ static bool has_uuid_at_pos(struct nd_region *nd_region, const uuid_t *uuid, return false; } found_uuid = true; - if (nlabel != nd_region->ndr_mappings) + if (!nsl_validate_nlabel(nd_region, ndd, nd_label)) continue; if (position != pos) continue; diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h index ec3c9aad7f50..036638bdb7e3 100644 --- a/drivers/nvdimm/nd.h +++ b/drivers/nvdimm/nd.h @@ -342,6 +342,13 @@ struct nd_region { struct nd_mapping mapping[]; }; +static inline bool nsl_validate_nlabel(struct nd_region *nd_region, + struct nvdimm_drvdata *ndd, + struct nd_namespace_label *nd_label) +{ + return nsl_get_nlabel(ndd, nd_label) == nd_region->ndr_mappings; +} + struct nd_blk_region { int (*enable)(struct nvdimm_bus *nvdimm_bus, struct device *dev); int (*do_io)(struct nd_blk_region *ndbr, resource_size_t dpa,
In the CXL namespace label there is no need for nlabel since that is inferred from the region. Add a helper that moves nsl_get_label() behind a helper that validates the number of labels relative to the region. Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/nvdimm/namespace_devs.c | 5 ++--- drivers/nvdimm/nd.h | 7 +++++++ 2 files changed, 9 insertions(+), 3 deletions(-)