Patch "nvdimm/region: always show the 'align' attribute" has been added to the 5.7-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    nvdimm/region: always show the 'align' attribute

to the 5.7-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     nvdimm-region-always-show-the-align-attribute.patch
and it can be found in the queue-5.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 57f4bcd9115259b78ca7e6eb4121942e743d6bc1
Author: Vishal Verma <vishal.l.verma@xxxxxxxxx>
Date:   Wed May 20 16:50:26 2020 -0600

    nvdimm/region: always show the 'align' attribute
    
    [ Upstream commit 543094e19c82b5d171e139d09a1a3ea0a7361117 ]
    
    It is possible that a platform that is capable of 'namespace labels'
    comes up without the labels properly initialized. In this case, the
    region's 'align' attribute is hidden. Howerver, once the user does
    initialize he labels, the 'align' attribute still stays hidden, which is
    unexpected.
    
    The sysfs_update_group() API is meant to address this, and could be
    called during region probe, but it has entanglements with the device
    'lockdep_mutex'. Therefore, simply make the 'align' attribute always
    visible. It doesn't matter what it says for label-less namespaces, since
    it is not possible to change their allocation anyway.
    
    Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx>
    Signed-off-by: Vishal Verma <vishal.l.verma@xxxxxxxxx>
    Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
    Link: https://lore.kernel.org/r/20200520225026.29426-1-vishal.l.verma@xxxxxxxxx
    Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index ccbb5b43b8b2c..4502f9c4708d0 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -679,18 +679,8 @@ static umode_t region_visible(struct kobject *kobj, struct attribute *a, int n)
 		return a->mode;
 	}
 
-	if (a == &dev_attr_align.attr) {
-		int i;
-
-		for (i = 0; i < nd_region->ndr_mappings; i++) {
-			struct nd_mapping *nd_mapping = &nd_region->mapping[i];
-			struct nvdimm *nvdimm = nd_mapping->nvdimm;
-
-			if (test_bit(NDD_LABELING, &nvdimm->flags))
-				return a->mode;
-		}
-		return 0;
-	}
+	if (a == &dev_attr_align.attr)
+		return a->mode;
 
 	if (a != &dev_attr_set_cookie.attr
 			&& a != &dev_attr_available_size.attr)



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux