[PATCH 21/26] dax/region: Prevent range mapping allocation on sparse regions

From: Ira Weiny
Date: Sun Mar 24 2024 - 23:55:42 EST


Sparse regions are not fully populated with memory and this complicates
range mapping of dax devices on those regions. There is no use case for
range mapping on sparse regions.

Avoid the complication by prevent range mapping of dax devices on sparse
regions.

Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>
---
drivers/dax/bus.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c
index bab19fc578d0..56dddaceeccb 100644
--- a/drivers/dax/bus.c
+++ b/drivers/dax/bus.c
@@ -1452,6 +1452,8 @@ static umode_t dev_dax_visible(struct kobject *kobj, struct attribute *a, int n)
return 0;
if (a == &dev_attr_mapping.attr && is_static(dax_region))
return 0;
+ if (a == &dev_attr_mapping.attr && is_sparse(dax_region))
+ return 0;
if ((a == &dev_attr_align.attr ||
a == &dev_attr_size.attr) && is_static(dax_region))
return 0444;

--
2.44.0