Messages in this thread |  | | Date | Thu, 4 Sep 2025 19:58:29 +0530 | | From | Neeraj Kumar <> | | Subject | Re: [PATCH V2 07/20] nvdimm/namespace_label: Update namespace init_labels and its region_uuid |
| |
On 19/08/25 01:56PM, Ira Weiny wrote: >Neeraj Kumar wrote: >> nd_mapping->labels maintains the list of labels present into LSA. >> init_labels() prepares this list while adding new label into LSA >> and updates nd_mapping->labels accordingly. During cxl region >> creation nd_mapping->labels list and LSA was updated with one >> region label. Therefore during new namespace label creation >> pre-include the previously created region label, so increase >> num_labels count by 1. > >Why does the count of the labels in the list not work? > >static int init_labels(struct nd_mapping *nd_mapping, int num_labels) >{ > int i, old_num_labels = 0; >... > mutex_lock(&nd_mapping->lock); > list_for_each_entry(label_ent, &nd_mapping->labels, list) > old_num_labels++; > mutex_unlock(&nd_mapping->lock); >... >
Hi Ira,
init_labels() allocates new label based on comparison with existing count of the labels in the list and passed num_labels. If num_labels is greater than count of the labels in the list then new label is allocated and stored in list for later usage
... mutex_lock(&nd_mapping->lock); list_for_each_entry(label_ent, &nd_mapping->labels, list) old_num_labels++; mutex_unlock(&nd_mapping->lock);
for (i = old_num_labels; i < num_labels; i++) { label_ent = kzalloc(sizeof(*label_ent), GFP_KERNEL); if (!label_ent) return -ENOMEM;
mutex_lock(&nd_mapping->lock); list_add_tail(&label_ent->list, nd_mapping->labels); mutex_unlock(&nd_mapping->lock); } ...
>> >> Also updated nsl_set_region_uuid with region uuid with which >> namespace is associated with. > >Whenever using a word like 'Also' in the commit message ask if this should be a >separate patch. I'm thinking this hunk should be somewhere else in the series. > >Ira
Sure Ira, Yes both hunks are not associated, I just added both to avoid extra commit. I will create separate commit to update region_uuid and will remove 'Also' part from commit message.
Regards, Neeraj
|  |