Messages in this thread | | | From | Yang Shi <> | Date | Mon, 20 Sep 2021 14:23:41 -0700 | Subject | Re: [PATCH] fs: buffer: check huge page size instead of single page for invalidatepage |
| |
On Sun, Sep 19, 2021 at 7:41 AM Matthew Wilcox <willy@infradead.org> wrote: > > On Fri, Sep 17, 2021 at 05:07:03PM -0700, Yang Shi wrote: > > > The debugging showed the page passed to invalidatepage is a huge page > > > and the length is the size of huge page instead of single page due to > > > read only FS THP support. But block_invalidatepage() would throw BUG if > > > the size is greater than single page. > > Things have already gone wrong before we get to this point. See > do_dentry_open(). You aren't supposed to be able to get a writable file > descriptor on a file which has had huge pages added to the page cache > without the filesystem's knowledge. That's the problem that needs to > be fixed.
I don't quite understand your point here. Do you mean do_dentry_open() should fail for such cases instead of truncating the page cache?
| |