The cachefiles misc character device uses MISC_DYNAMIC_MINOR and thus
doesn't support module auto-loading. Assign a static minor number for it
and provide appropriate module aliases for it. This is enough for kmod to
create the /dev/cachefiles device node on startup and facility module
auto-loading.

Signed-off-by: Marcel Holtmann <mar...@holtmann.org>
---
 Documentation/admin-guide/devices.txt | 3 ++-
 fs/cachefiles/main.c                  | 4 +++-
 include/linux/miscdevice.h            | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/Documentation/admin-guide/devices.txt 
b/Documentation/admin-guide/devices.txt
index 06c525e01ea5..21b2dda10006 100644
--- a/Documentation/admin-guide/devices.txt
+++ b/Documentation/admin-guide/devices.txt
@@ -376,8 +376,9 @@
                240 = /dev/userio       Serio driver testing device
                241 = /dev/vhost-vsock  Host kernel driver for virtio vsock
                242 = /dev/rfkill       Turning off radio transmissions (rfkill)
+               243 = /dev/cachefiles   Filesystem caching on files
 
-               243-254                 Reserved for local use
+               244-254                 Reserved for local use
                255                     Reserved for MISC_DYNAMIC_MINOR
 
   11 char      Raw keyboard device     (Linux/SPARC only)
diff --git a/fs/cachefiles/main.c b/fs/cachefiles/main.c
index 3f369c6f816d..eead7b5016a7 100644
--- a/fs/cachefiles/main.c
+++ b/fs/cachefiles/main.c
@@ -30,11 +30,13 @@ MODULE_PARM_DESC(cachefiles_debug, "CacheFiles debugging 
mask");
 MODULE_DESCRIPTION("Mounted-filesystem based cache");
 MODULE_AUTHOR("Red Hat, Inc.");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("devname:cachefiles");
+MODULE_ALIAS_MISCDEV(CACHEFILES_MINOR);
 
 struct kmem_cache *cachefiles_object_jar;
 
 static struct miscdevice cachefiles_dev = {
-       .minor  = MISC_DYNAMIC_MINOR,
+       .minor  = CACHEFILES_MINOR,
        .name   = "cachefiles",
        .fops   = &cachefiles_daemon_fops,
 };
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index c0fea6ca5076..d7f989f593b0 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -71,6 +71,7 @@
 #define USERIO_MINOR           240
 #define VHOST_VSOCK_MINOR      241
 #define RFKILL_MINOR           242
+#define CACHEFILES_MINOR       243
 #define MISC_DYNAMIC_MINOR     255
 
 struct device;
-- 
2.40.1

--
Linux-cachefs mailing list
Linux-cachefs@redhat.com
https://listman.redhat.com/mailman/listinfo/linux-cachefs

Reply via email to