[PATCH v4 1/2] fscache,cachefiles: add prepare_ondemand_read() callback
Jingbo Xu
jefflexu at linux.alibaba.com
Thu Nov 24 14:19:50 AEDT 2022
Hi David,
Really thanks for the comment.
On 11/24/22 12:44 AM, David Howells wrote:
> Jingbo Xu <jefflexu at linux.alibaba.com> wrote:
>
>> -/*
>> - * Prepare a read operation, shortening it to a cached/uncached
>> - * boundary as appropriate.
>> - */
>> -static enum netfs_io_source cachefiles_prepare_read(struct netfs_io_subrequest *subreq,
>> - loff_t i_size)
>> +static inline enum netfs_io_source
>> +cachefiles_do_prepare_read(struct netfs_cache_resources *cres,
>> + loff_t start, size_t *_len, loff_t i_size,
>> + unsigned long *_flags)
>
> That's not exactly what I meant, but I guess it would work as the compiler
> would probably inline it into both callers.
Yeah, I just have no better way if we don't want another function
calling introduced by this patch. If we keep cachefiles_prepare_read()
untouched, the on-demand users need to construct a temporary subrequest
on the stack, and Jeff pointed out that this way is somewhat fragile and
not robust enough.
Anyway I would keep moving forward in the direction of current patch,
and add back the netfs_inode number to the tracepoint. I would send v5
soon.
Thanks again for the reply :-)
>
>> - __entry->netfs_inode, __entry->cache_inode)
>> + __entry->cache_inode)
>
> Can you not lose the netfs_inode number from the tracepoint, please? Feel
> free to display 0 there for your purposes.
>
Sure.
--
Thanks,
Jingbo
More information about the Linux-erofs
mailing list