On Thu, Jun 15, 2023 at 06:08:06PM +0200, Marcel Holtmann wrote:
> 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
> 

Ah, the original was in my spam filter as your email does not show up as
being authenticated, you might want to fix your mail server :(

Anyway, as Christoph said, no, this isn't a good idea, keep it dynamic
and only load it if you need to load it please.  Or, please explain why
it needs to be autoloaded, what dependancy or userspace program is not
working properly because of this?

thanks,

greg k-h

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

Reply via email to