On Sat, 10 Aug 2024 at 17:12, Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > On Sat, Aug 10, 2024 at 07:56:21AM +0200, Jürg Billeter wrote: > > Thanks for the quick response. > > Thanks for the quick test! > > > On Fri, 2024-08-09 at 17:03 +0100, Matthew Wilcox wrote: > > > Do you have CONFIG_DEBUG_VM enabled? There are some debugging asserts > > > which that will enable that might indicate a problem. > > > > With CONFIG_DEBUG_VM enabled, I get: > > > > page: refcount:2 mapcount:0 mapping:00000000b2c30835 index:0x0 pfn:0x12a113 > > memcg:ffff9d8e3a660800 > > aops:0xffffffff8a056820 ino:21 dentry name:"bash" > > flags: 0x24000000000022d(locked|referenced|uptodate|lru|workingset|node=0|zone=2) > > raw: 024000000000022d ffffd9ce04a827c8 ffffd9ce04a84508 ffff9d8e0bbc99f0 > > raw: 0000000000000000 0000000000000000 00000002ffffffff ffff9d8e3a660800 > > page dumped because: VM_BUG_ON_FOLIO(folio_test_uptodate(folio)) > > That's what I suspected was going wrong -- we're trying to end a read on > a folio that is already uptodate. Miklos, what the hell is FUSE doing > here? Ah, this is the fancy page cache replacement done in fuse_try_move_page(). I understand how this triggers VM_BUG_ON_FOLIO() in folio_end_read(). What I don't understand is how this results in the -EIO that Jürg reported. Thanks, Miklos