mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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

  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®