[Linux-cachefs] [RFC 09/19] netfs: refactor netfs_rreq_unlock()

Gao Xiang hsiangkao at linux.alibaba.com
Sat Dec 11 17:57:30 AEDT 2021


Hi Jeffle,

On Sat, Dec 11, 2021 at 01:44:47PM +0800, JeffleXu wrote:
> 
> 
> On 12/11/21 1:23 PM, JeffleXu wrote:
> > 
> > 
> > On 12/10/21 11:41 PM, David Howells wrote:
> >> Jeffle Xu <jefflexu at linux.alibaba.com> wrote:
> >>
> >>> In demand-read case, the input folio of netfs API is may not the page
> >>
> >> "is may not the page"?  I think you're missing a verb (and you have too many
> >> auxiliary verbs;-)
> >>
> > 
> > Sorry for my poor English... What I want to express is that
> > 
> > "In demand-read case, the input folio of netfs API may not be the page
> > cache inside the address space of the netfs file."
> > 
> 
> By the way, can we change the current address_space based netfs API to
> folio-based, which shall be more general? That is, the current
> implementation of netfs API uses (address_space, page_offset, len) tuple
> to describe the destination where the read data shall be store into.
> While in the demand-read case, the input folio may not be the page
> cache, and thus there's no address_space attached with it.

Thanks for your hard effort on this!

Just a rough look. Could we use a pseudo inode (actually the current
managed_inode can be used as this) to retain metadata for fscache
scenarios? (since it's better to cache all metadata rather than drop
directly, also the alloc_page() - free_page() cycle takes more time).

Also if my own limited understanding is correct, you could directly
use file inode pages with netfs_readpage_demand() rather than
get_meta_page and then memcpy to the file inode pages.

Thanks,
Gao Xiang

> 
> -- 
> Thanks,
> Jeffle


More information about the Linux-erofs mailing list