On Tue, Feb 26, 2019 at 9:35 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote: > > [ Moving fuse-devel and linux-fsdevel to Bcc ] > > Hello linux-mm people, > > I am posting this here as advised by Miklos (see below). In short, I > have a workload that reliably produces kernel messages of the form: > > [ 2562.773181] fuse: trying to steal weird page > [ 2562.773187] page=<something> index=<something> flags=17ffffc00000ad, count=1, mapcount=0, mapping= (null) > > What are the implications of this message? Is something activelly going > wrong (aka do I need to worry about data integrity)? Fuse is careful and basically just falls back on page copy, so it definitely shouldn't affect data integrity. The more interesting question is: how can page_cache_pipe_buf_steal() return a dirty page? The logic in remove_mapping() should prevent that, but something is apparently slipping through... > > Is there something I can do to help debugging (and hopefully fixing) > this? > > This is with kernel 4.18 (from Ubuntu cosmic). One thought: have you tried reproducing with a recent vanilla (non-ubuntu) kernel? Thanks, Miklos > > Best, > -Nikolaus > > > On Feb 26 2019, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > On Tue, Feb 26, 2019 at 1:57 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > >> > >> On Mon, Feb 25, 2019 at 10:41 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote: > >> > > >> > On Feb 12 2019, Nikolaus Rath <Nikolaus@xxxxxxxx> wrote: > >> > > On Feb 12 2019, Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > >> > >> On Sun, Feb 10, 2019 at 11:05 PM Nikolaus Rath <Nikolaus@xxxxxxxx> wrote: > >> > >> > >> > >>> Bad news. I can now reliably reproduce the issue again. > >> > >> > >> > >> A reliable reproducer is always good news. Are the messages exactly > >> > >> the same as last time (value of flags, etc)? > >> > > > >> > > The flags, count, mapcount and mapping values are always the same. The > >> > > page and index is varying. So the general format is: > >> > > > >> > > [ 2562.773181] fuse: trying to steal weird page > >> > > [ 2562.773187] page=<something> index=<something> > >> > > flags=17ffffc00000ad, count=1, mapcount=0, mapping= (null) > >> > > >> > Is there anything else I can do to help debugging this? > >> > >> Could you please try the attached patch? > > > > Looking more, it's very unlikely to help. remove_mapping() should > > already ensure that the page count is 1. > > > > I think this bug report needs to be forwarded to the > > <linux-mm@xxxxxxxxx> mailing list as this appears to be a race > > somewhere in the memory management subsystem and fuse is only making > > it visible due to its sanity checking in the page stealing code. > > > > Thanks, > > Miklos > > > > > > -- > > fuse-devel mailing list > > To unsubscribe or subscribe, visit https://lists.sourceforge.net/lists/listinfo/fuse-devel > > > -- > GPG Fingerprint: ED31 791B 2C5C 1613 AF38 8B8A D113 FCAC 3C4E 599F > > »Time flies like an arrow, fruit flies like a Banana.«