From: Neeraj Kumar <s.neeraj@samsung.com>
To: Ira Weiny <ira.weiny@intel.com>
Cc: linux-cxl@vger.kernel.org, nvdimm@lists.linux.dev,
linux-kernel@vger.kernel.org, gost.dev@samsung.com,
a.manzanares@samsung.com, vishak.g@samsung.com,
neeraj.kernel@gmail.com, cpgs@samsung.com
Subject: Re: [PATCH V5 04/17] nvdimm/label: Include region label in slot validation
Date: Fri, 23 Jan 2026 16:32:26 +0530 [thread overview]
Message-ID: <1983025922.01769167082186.JavaMail.epsvc@epcpadp2new> (raw)
In-Reply-To: <69680889b4a78_1183cf100e@iweiny-mobl.notmuch>
[-- Attachment #1: Type: text/plain, Size: 2990 bytes --]
On 14/01/26 03:20PM, Ira Weiny wrote:
>Neeraj Kumar wrote:
>> Prior to LSA 2.1 Support, label in slot means only namespace
>> label. But with LSA 2.1 a label can be either namespace or
>> region label.
>>
>> Slot validation routine validates label slot by calculating
>> label checksum. It was only validating namespace label.
>> This changeset also validates region label if present.
>>
>> In previous patch to_lsa_label() was introduced along with
>> to_label(). to_label() returns only namespace label whereas
>> to_lsa_label() returns union nd_lsa_label*
>>
>> In this patch We have converted all usage of to_label()
>
>NIT: don't use 'We'
Fixed it in V6
>
>> to to_lsa_label()
>>
>> Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
>> Reviewed-by: Dave Jiang <dave.jiang@intel.com>
>> Signed-off-by: Neeraj Kumar <s.neeraj@samsung.com>
>> ---
>> drivers/nvdimm/label.c | 94 ++++++++++++++++++++++++++++--------------
>> 1 file changed, 64 insertions(+), 30 deletions(-)
>>
>> diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
>> index 17e2a1f5a6da..9854cb45fb62 100644
>> --- a/drivers/nvdimm/label.c
>> +++ b/drivers/nvdimm/label.c
>> @@ -312,16 +312,6 @@ static union nd_lsa_label *to_lsa_label(struct nvdimm_drvdata *ndd, int slot)
>> return (union nd_lsa_label *) label;
>> }
>>
>> -static struct nd_namespace_label *to_label(struct nvdimm_drvdata *ndd, int slot)
>> -{
>> - unsigned long label, base;
>> -
>> - base = (unsigned long) nd_label_base(ndd);
>> - label = base + sizeof_namespace_label(ndd) * slot;
>> -
>> - return (struct nd_namespace_label *) label;
>> -}
>> -
>> #define for_each_clear_bit_le(bit, addr, size) \
>> for ((bit) = find_next_zero_bit_le((addr), (size), 0); \
>> (bit) < (size); \
>> @@ -382,7 +372,7 @@ static bool nsl_validate_checksum(struct nvdimm_drvdata *ndd,
>> {
>> u64 sum, sum_save;
>>
>> - if (!ndd->cxl && !efi_namespace_label_has(ndd, checksum))
>> + if (!efi_namespace_label_has(ndd, checksum))
>
>What does this change have to do with region label validation during slot
>validation?
>
>> return true;
>>
>> sum_save = nsl_get_checksum(ndd, nd_label);
>> @@ -397,13 +387,25 @@ static void nsl_calculate_checksum(struct nvdimm_drvdata *ndd,
>> {
>> u64 sum;
>>
>> - if (!ndd->cxl && !efi_namespace_label_has(ndd, checksum))
>> + if (!efi_namespace_label_has(ndd, checksum))
>
>This and the above seem like cleanups because efi_namespace_label_has()
>already checks !ndd->cxl? Was that the intent? Perhaps as a separate
>cleanup?
Hi Ira,
Actually above is required changes and not the cleanup.
Earlier condition (!ndd->cxl && !efi_namespace_label_has(ndd, checksum))
was getting true (no further processing) in first case only if its a
region label which we don't want in current case.
And this condition (!efi_namespace_label_has(ndd, checksum)) returns false
(means proceed further) in case if its a region label (!!ndd->cxl).
Regards,
Neeraj
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
next prev parent reply other threads:[~2026-01-23 11:18 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20260109124454epcas5p4513168fdb4253ef1c5ac1656985417fd@epcas5p4.samsung.com>
2026-01-09 12:44 ` [PATCH V5 00/17] Add CXL LSA 2.1 format support in nvdimm and cxl pmem Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 01/17] nvdimm/label: Introduce NDD_REGION_LABELING flag to set region label Neeraj Kumar
2026-01-14 21:22 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 02/17] nvdimm/label: CXL labels skip the need for 'interleave-set cookie' Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 03/17] nvdimm/label: Add namespace/region label support as per LSA 2.1 Neeraj Kumar
2026-01-15 17:45 ` Jonathan Cameron
2026-01-23 10:57 ` Neeraj Kumar
2026-01-21 0:35 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 04/17] nvdimm/label: Include region label in slot validation Neeraj Kumar
2026-01-14 21:20 ` Ira Weiny
2026-01-23 11:02 ` Neeraj Kumar [this message]
2026-01-15 17:55 ` Jonathan Cameron
2026-01-21 0:38 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 05/17] nvdimm/label: Skip region label during ns label DPA reservation Neeraj Kumar
2026-01-15 17:56 ` Jonathan Cameron
2026-01-21 0:41 ` Ira Weiny
2026-01-23 11:05 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 06/17] nvdimm/label: Preserve region label during namespace creation Neeraj Kumar
2026-01-15 17:59 ` Jonathan Cameron
2026-01-21 0:43 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 07/17] nvdimm/label: Add region label delete support Neeraj Kumar
2026-01-21 0:44 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 08/17] nvdimm/label: Preserve cxl region information from region label Neeraj Kumar
2026-01-15 18:03 ` Jonathan Cameron
2026-01-23 11:08 ` Neeraj Kumar
2026-01-21 0:45 ` Ira Weiny
2026-01-09 12:44 ` [PATCH V5 09/17] nvdimm/label: Export routine to fetch region information Neeraj Kumar
2026-01-15 18:03 ` Jonathan Cameron
2026-01-21 0:46 ` Ira Weiny
2026-01-23 11:11 ` Neeraj Kumar
2026-01-23 11:20 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 10/17] cxl/mem: Refactor cxl pmem region auto-assembling Neeraj Kumar
2026-01-15 18:08 ` Jonathan Cameron
2026-01-23 11:14 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 11/17] cxl/region: Add devm_cxl_pmem_add_region() for pmem region creation Neeraj Kumar
2026-01-15 18:17 ` Jonathan Cameron
2026-01-23 11:17 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 12/17] cxl/pmem: Preserve region information into nd_set Neeraj Kumar
2026-01-15 18:18 ` Jonathan Cameron
2026-01-09 12:44 ` [PATCH V5 13/17] cxl/pmem_region: Prep patch to accommodate pmem_region attributes Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 14/17] cxl/pmem_region: Introduce CONFIG_CXL_PMEM_REGION for core/pmem_region.c Neeraj Kumar
2026-01-15 18:19 ` Jonathan Cameron
2026-01-09 12:44 ` [PATCH V5 15/17] cxl/pmem_region: Add sysfs attribute cxl region label updation/deletion Neeraj Kumar
2026-01-14 17:00 ` Dave Jiang
2026-01-23 11:22 ` Neeraj Kumar
2026-01-15 18:21 ` Jonathan Cameron
2026-01-23 11:25 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 16/17] cxl/pmem_region: Create pmem region using information parsed from LSA Neeraj Kumar
2026-01-15 18:28 ` Jonathan Cameron
2026-01-23 11:28 ` Neeraj Kumar
2026-01-09 12:44 ` [PATCH V5 17/17] cxl/pmem: Add CXL LSA 2.1 support in cxl pmem Neeraj Kumar
2026-01-15 18:29 ` Jonathan Cameron
2026-01-21 15:37 ` [PATCH V5 00/17] Add CXL LSA 2.1 format support in nvdimm and " Dave Jiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1983025922.01769167082186.JavaMail.epsvc@epcpadp2new \
--to=s.neeraj@samsung.com \
--cc=a.manzanares@samsung.com \
--cc=cpgs@samsung.com \
--cc=gost.dev@samsung.com \
--cc=ira.weiny@intel.com \
--cc=linux-cxl@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=neeraj.kernel@gmail.com \
--cc=nvdimm@lists.linux.dev \
--cc=vishak.g@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox