Commit cf1e2289 authored by Dan Williams's avatar Dan Williams

device-dax: kill NR_DEV_DAX

There is no point to ask how many device-dax instances the kernel should
support. Since we are already using a dynamic major number, just allow
the max number of minors by default and be done. This also fixes the
fact that the proposed max for the NR_DEV_DAX range was larger than what
could be supported by alloc_chrdev_region().

Fixes: ba09c01d ("dax: convert to the cdev api")
Reported-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent ef510424
...@@ -28,9 +28,4 @@ config DEV_DAX_PMEM ...@@ -28,9 +28,4 @@ config DEV_DAX_PMEM
Say Y if unsure Say Y if unsure
config NR_DEV_DAX
int "Maximum number of Device-DAX instances"
default 32768
range 256 2147483647
endif endif
...@@ -21,10 +21,6 @@ ...@@ -21,10 +21,6 @@
#include <linux/dax.h> #include <linux/dax.h>
#include <linux/fs.h> #include <linux/fs.h>
static int nr_dax = CONFIG_NR_DEV_DAX;
module_param(nr_dax, int, S_IRUGO);
MODULE_PARM_DESC(nr_dax, "max number of dax device instances");
static dev_t dax_devt; static dev_t dax_devt;
DEFINE_STATIC_SRCU(dax_srcu); DEFINE_STATIC_SRCU(dax_srcu);
static struct vfsmount *dax_mnt; static struct vfsmount *dax_mnt;
...@@ -331,7 +327,7 @@ struct dax_device *alloc_dax(void *private, const char *__host, ...@@ -331,7 +327,7 @@ struct dax_device *alloc_dax(void *private, const char *__host,
if (__host && !host) if (__host && !host)
return NULL; return NULL;
minor = ida_simple_get(&dax_minor_ida, 0, nr_dax, GFP_KERNEL); minor = ida_simple_get(&dax_minor_ida, 0, MINORMASK+1, GFP_KERNEL);
if (minor < 0) if (minor < 0)
goto err_minor; goto err_minor;
...@@ -475,8 +471,7 @@ static int __init dax_fs_init(void) ...@@ -475,8 +471,7 @@ static int __init dax_fs_init(void)
if (rc) if (rc)
return rc; return rc;
nr_dax = max(nr_dax, 256); rc = alloc_chrdev_region(&dax_devt, 0, MINORMASK+1, "dax");
rc = alloc_chrdev_region(&dax_devt, 0, nr_dax, "dax");
if (rc) if (rc)
__dax_fs_exit(); __dax_fs_exit();
return rc; return rc;
...@@ -484,7 +479,7 @@ static int __init dax_fs_init(void) ...@@ -484,7 +479,7 @@ static int __init dax_fs_init(void)
static void __exit dax_fs_exit(void) static void __exit dax_fs_exit(void)
{ {
unregister_chrdev_region(dax_devt, nr_dax); unregister_chrdev_region(dax_devt, MINORMASK+1);
ida_destroy(&dax_minor_ida); ida_destroy(&dax_minor_ida);
__dax_fs_exit(); __dax_fs_exit();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment