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