[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b235f795-3e1d-4a91-88dd-651bf9d75a17@huawei.com>
Date: Sat, 22 Mar 2025 08:54:00 +0800
From: Hongbo Li <lihongbo22@...wei.com>
To: Hongzhen Luo <hongzhen@...ux.alibaba.com>, <linux-erofs@...ts.ozlabs.org>
CC: <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v6 1/7] erofs: move `struct erofs_anon_fs_type` to
super.c
On 2025/3/1 22:49, Hongzhen Luo wrote:
> Move the `struct erofs_anon_fs_type` to the super.c and
> expose it in preparation for the upcoming page cache share
> feature.
>
> Signed-off-by: Hongzhen Luo <hongzhen@...ux.alibaba.com>
Looks good. Feel free to add:
Reviewed-by: Hongbo Li <lihongbo22@...wei.com>
> ---
> fs/erofs/fscache.c | 13 -------------
> fs/erofs/internal.h | 2 ++
> fs/erofs/super.c | 13 +++++++++++++
> 3 files changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c
> index ce3d8737df85..ae7bd9ebff38 100644
> --- a/fs/erofs/fscache.c
> +++ b/fs/erofs/fscache.c
> @@ -3,7 +3,6 @@
> * Copyright (C) 2022, Alibaba Cloud
> * Copyright (C) 2022, Bytedance Inc. All rights reserved.
> */
> -#include <linux/pseudo_fs.h>
> #include <linux/fscache.h>
> #include "internal.h"
>
> @@ -13,18 +12,6 @@ static LIST_HEAD(erofs_domain_list);
> static LIST_HEAD(erofs_domain_cookies_list);
> static struct vfsmount *erofs_pseudo_mnt;
>
> -static int erofs_anon_init_fs_context(struct fs_context *fc)
> -{
> - return init_pseudo(fc, EROFS_SUPER_MAGIC) ? 0 : -ENOMEM;
> -}
> -
> -static struct file_system_type erofs_anon_fs_type = {
> - .owner = THIS_MODULE,
> - .name = "pseudo_erofs",
> - .init_fs_context = erofs_anon_init_fs_context,
> - .kill_sb = kill_anon_super,
> -};
> -
> struct erofs_fscache_io {
> struct netfs_cache_resources cres;
> struct iov_iter iter;
> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
> index 686d835eb533..47004eb89838 100644
> --- a/fs/erofs/internal.h
> +++ b/fs/erofs/internal.h
> @@ -379,6 +379,8 @@ extern const struct file_operations erofs_dir_fops;
>
> extern const struct iomap_ops z_erofs_iomap_report_ops;
>
> +extern struct file_system_type erofs_anon_fs_type;
> +
> /* flags for erofs_fscache_register_cookie() */
> #define EROFS_REG_COOKIE_SHARE 0x0001
> #define EROFS_REG_COOKIE_NEED_NOEXIST 0x0002
> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
> index 827b62665649..eb052a770088 100644
> --- a/fs/erofs/super.c
> +++ b/fs/erofs/super.c
> @@ -11,6 +11,7 @@
> #include <linux/fs_parser.h>
> #include <linux/exportfs.h>
> #include <linux/backing-dev.h>
> +#include <linux/pseudo_fs.h>
> #include "xattr.h"
>
> #define CREATE_TRACE_POINTS
> @@ -850,6 +851,18 @@ static struct file_system_type erofs_fs_type = {
> };
> MODULE_ALIAS_FS("erofs");
>
> +static int erofs_anon_init_fs_context(struct fs_context *fc)
> +{
> + return init_pseudo(fc, EROFS_SUPER_MAGIC) ? 0 : -ENOMEM;
> +}
> +
> +struct file_system_type erofs_anon_fs_type = {
> + .owner = THIS_MODULE,
> + .name = "pseudo_erofs",
> + .init_fs_context = erofs_anon_init_fs_context,
> + .kill_sb = kill_anon_super,
> +};
> +
> static int __init erofs_module_init(void)
> {
> int err;
Powered by blists - more mailing lists