[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YkGEasaBSCwfGdj3@B-P7TQMD6M-0146.local>
Date: Mon, 28 Mar 2022 17:48:26 +0800
From: Gao Xiang <hsiangkao@...ux.alibaba.com>
To: Jeffle Xu <jefflexu@...ux.alibaba.com>
Cc: dhowells@...hat.com, linux-cachefs@...hat.com, xiang@...nel.org,
chao@...nel.org, linux-erofs@...ts.ozlabs.org,
torvalds@...ux-foundation.org, gregkh@...uxfoundation.org,
willy@...radead.org, linux-fsdevel@...r.kernel.org,
joseph.qi@...ux.alibaba.com, bo.liu@...ux.alibaba.com,
tao.peng@...ux.alibaba.com, gerry@...ux.alibaba.com,
eguan@...ux.alibaba.com, linux-kernel@...r.kernel.org,
luodaowen.backend@...edance.com, tianzichen@...ishou.com,
fannaihao@...du.com
Subject: Re: [PATCH v6 19/22] erofs: register cookie context for data blobs
On Fri, Mar 25, 2022 at 08:22:20PM +0800, Jeffle Xu wrote:
> Similar to the multi device mode, erofs could be mounted from multiple
> blob files (one bootstrap blob file and optional multiple data blob
> files). In this case, each device slot contains the path of
> corresponding data blob file.
>
> Registers corresponding cookie context for each data blob file.
>
> Signed-off-by: Jeffle Xu <jefflexu@...ux.alibaba.com>
> ---
> fs/erofs/internal.h | 1 +
> fs/erofs/super.c | 30 ++++++++++++++++++++++--------
> 2 files changed, 23 insertions(+), 8 deletions(-)
>
> diff --git a/fs/erofs/internal.h b/fs/erofs/internal.h
> index 6537ededed51..94a118caf580 100644
> --- a/fs/erofs/internal.h
> +++ b/fs/erofs/internal.h
> @@ -52,6 +52,7 @@ struct erofs_device_info {
> struct block_device *bdev;
> struct dax_device *dax_dev;
Place
struct erofs_fscache *fscache;
> u64 dax_part_off;
> + struct erofs_fscache *blob;
Instead here since `blob' is also nydus-specific.
Need to update the subject and commit message too.
>
> u32 blocks;
> u32 mapped_blkaddr;
> diff --git a/fs/erofs/super.c b/fs/erofs/super.c
> index de5aeda4aea0..9a6f35e0c22b 100644
> --- a/fs/erofs/super.c
> +++ b/fs/erofs/super.c
> @@ -259,15 +259,28 @@ static int erofs_init_devices(struct super_block *sb,
> }
> dis = ptr + erofs_blkoff(pos);
>
> - bdev = blkdev_get_by_path(dif->path,
> - FMODE_READ | FMODE_EXCL,
> - sb->s_type);
> - if (IS_ERR(bdev)) {
> - err = PTR_ERR(bdev);
> - break;
> + if (IS_ENABLED(CONFIG_EROFS_FS_ONDEMAND) &&
> + erofs_is_nodev_mode(sb)) {
> + struct erofs_fscache *blob;
Same here.
Thanks,
Gao Xiang
Powered by blists - more mailing lists