From: Hongbo Li <lihongbo22@huawei.com>
To: Gao Xiang <hsiangkao@linux.alibaba.com>
Cc: <djwong@kernel.org>, <amir73il@gmail.com>, <hch@lst.de>,
<linux-fsdevel@vger.kernel.org>, <linux-erofs@lists.ozlabs.org>,
<linux-kernel@vger.kernel.org>, Chao Yu <chao@kernel.org>,
Christian Brauner <brauner@kernel.org>
Subject: Re: [PATCH v14 08/10] erofs: support unencoded inodes for page cache share
Date: Thu, 15 Jan 2026 09:36:02 +0800 [thread overview]
Message-ID: <4152e93b-3f7d-4861-aad9-b7dc1ef71470@huawei.com> (raw)
In-Reply-To: <2d33cc2f-8188-4e62-b0be-bf985237bf24@linux.alibaba.com>
Hi,Xiang
On 2026/1/14 22:51, Gao Xiang wrote:
>
>
> On 2026/1/9 18:28, Hongbo Li wrote:
>> This patch adds inode page cache sharing functionality for unencoded
>> files.
>>
>> I conducted experiments in the container environment. Below is the
...
>> iomap->inline_data = ptr;
>> @@ -383,11 +385,16 @@ static int erofs_read_folio(struct file *file,
>> struct folio *folio)
>> .ops = &iomap_bio_read_ops,
>> .cur_folio = folio,
>> };
>> - struct erofs_iomap_iter_ctx iter_ctx = {};
>> + bool need_iput;
>> + struct erofs_iomap_iter_ctx iter_ctx = {
>> + .realinode = erofs_real_inode(folio_inode(folio), &need_iput),
>> + };
>> - trace_erofs_read_folio(folio, true);
>> + trace_erofs_read_folio(iter_ctx.realinode, folio, true);
>> iomap_read_folio(&erofs_iomap_ops, &read_ctx, &iter_ctx);
>> + if (need_iput)
>> + iput(iter_ctx.realinode);
>> return 0;
>> }
>> @@ -397,12 +404,17 @@ static void erofs_readahead(struct
>> readahead_control *rac)
>> .ops = &iomap_bio_read_ops,
>> .rac = rac,
>> };
>> - struct erofs_iomap_iter_ctx iter_ctx = {};
>> + bool need_iput;
>> + struct erofs_iomap_iter_ctx iter_ctx = {
>> + .realinode = erofs_real_inode(rac->mapping->host, &need_iput),
>> + };
>> - trace_erofs_readahead(rac->mapping->host, readahead_index(rac),
>> + trace_erofs_readahead(iter_ctx.realinode, readahead_index(rac),
>> readahead_count(rac), true);
>
> Is it possible to add a commit to update the tracepoints
> to add the new realinode first?
Yeah, so should we put the update on trace_erofs_read_folio and
trace_erofs_readahead in a single patch after "[PATCH v14 03/10] fs:
Export alloc_empty_backing_file"?
Since the first two patches in this series has merged in vfs tree
(thanks Christian), should we reorder the left patches?
Thanks,
Hongbo
>
> Also please fix the indentation in that commit together.
>
>> iomap_readahead(&erofs_iomap_ops, &read_ctx, &iter_ctx);
>> + if (need_iput)
>> + iput(iter_ctx.realinode);
>> }
>> static sector_t erofs_bmap(struct address_space *mapping, sector_t
>> block)
>> @@ -423,7 +435,9 @@ static ssize_t erofs_file_read_iter(struct kiocb
...
>> }
>> const struct address_space_operations erofs_fileio_aops = {
>> diff --git a/fs/erofs/inode.c b/fs/erofs/inode.c
>> index bce98c845a18..52179b706b5b 100644
>> --- a/fs/erofs/inode.c
>> +++ b/fs/erofs/inode.c
>> @@ -215,6 +215,8 @@ static int erofs_fill_inode(struct inode *inode)
>> case S_IFREG:
>> inode->i_op = &erofs_generic_iops;
>> inode->i_fop = &erofs_file_fops;
>> + if (erofs_ishare_fill_inode(inode))
>> + inode->i_fop = &erofs_ishare_fops;
>
> inode->i_fop = erofs_ishare_fill_inode(inode) ?
> &erofs_ishare_fops : &erofs_file_fops;
Ok, will update.
>
> Otherwise it looks good to me.
>
> Thanks,
> Gao Xiang
next prev parent reply other threads:[~2026-01-15 1:36 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-09 10:28 [PATCH v14 00/10] erofs: Introduce page cache sharing feature Hongbo Li
2026-01-09 10:28 ` [PATCH v14 01/10] iomap: stash iomap read ctx in the private field of iomap_iter Hongbo Li
2026-01-09 18:14 ` Darrick J. Wong
2026-01-10 11:55 ` Gao Xiang
2026-01-09 10:28 ` [PATCH v14 02/10] erofs: hold read context in iomap_iter if needed Hongbo Li
2026-01-09 10:28 ` [PATCH v14 03/10] fs: Export alloc_empty_backing_file Hongbo Li
2026-01-12 9:10 ` Christian Brauner
2026-01-09 10:28 ` [PATCH v14 04/10] erofs: decouple `struct erofs_anon_fs_type` Hongbo Li
2026-01-09 10:28 ` [PATCH v14 05/10] erofs: support user-defined fingerprint name Hongbo Li
2026-01-09 10:28 ` [PATCH v14 06/10] erofs: support domain-specific page cache share Hongbo Li
2026-01-09 10:28 ` [PATCH v14 07/10] erofs: introduce the page cache share feature Hongbo Li
2026-01-14 10:18 ` Gao Xiang
2026-01-15 1:21 ` Hongbo Li
2026-01-15 1:43 ` Gao Xiang
2026-01-09 10:28 ` [PATCH v14 08/10] erofs: support unencoded inodes for page cache share Hongbo Li
2026-01-14 14:51 ` Gao Xiang
2026-01-15 1:36 ` Hongbo Li [this message]
2026-01-15 1:46 ` Gao Xiang
2026-01-15 1:47 ` Hongbo Li
2026-01-09 10:28 ` [PATCH v14 09/10] erofs: support compressed " Hongbo Li
2026-01-14 14:53 ` Gao Xiang
2026-01-09 10:28 ` [PATCH v14 10/10] erofs: implement .fadvise " Hongbo Li
2026-01-12 9:14 ` [PATCH v14 00/10] erofs: Introduce page cache sharing feature Christian Brauner
2026-01-12 14:40 ` Gao Xiang
2026-01-14 10:28 ` Gao Xiang
2026-01-14 15:34 ` Christian Brauner
2026-01-14 15:33 ` (subset) " Christian Brauner
2026-01-14 15:35 ` Christian Brauner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4152e93b-3f7d-4861-aad9-b7dc1ef71470@huawei.com \
--to=lihongbo22@huawei.com \
--cc=amir73il@gmail.com \
--cc=brauner@kernel.org \
--cc=chao@kernel.org \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=hsiangkao@linux.alibaba.com \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®