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@xxxxxxxxxxxxxxxxx> 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