Re: [PATCH v4 1/2] fscache,cachefiles: add prepare_ondemand_read() callback

From: Jingbo Xu
Date: Wed Nov 23 2022 - 22:19:59 EST


Hi David,

Really thanks for the comment.

On 11/24/22 12:44 AM, David Howells wrote:
> Jingbo Xu <jefflexu@xxxxxxxxxxxxxxxxx> 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