On Fri, Jul 5, 2024 at 9:48 AM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Fri, Jul 05, 2024 at 01:45:11PM +0000, Chuck Lever III wrote: > > So Dave, I haven't tested the patch you posted a couple > > days ago, because there hasn't been a clear answer about > > whether nfs_read_folio() needs to protect itself against > > the ->mapping changing, in which case, that's probably > > a better fix. > > ->read_folio is called with the folio locked and only unlocks it > on I/O completion, so it doesn't really need any protection. So the > patch to simply move the trace point to before unlocking the folio > should fix the issue. > I didn't see this so maybe you sent it privately or I missed a message. > Alternatively we could just use the mapping from the inode variable > and pass it in. > I'm not sure I follow - are you suggesting fixing the tracepoint? Regardless of possible tracepoint movement or other fixes, nfs_folio_length() needs to be patched because it should handle folio->mapping == NULL. Ditto for nfs_page_length().