On Wed, Oct 30, 2019 at 7:50 AM Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> wrote: > > I don't know much about filesystems, but can't size of file change after > the open() under network filesystem? Revlidation on read looks like an > requirement anyway, no? Requirement? No. But QoS issue, yes. But note that NFS already does that. Look at nfs_file_read(), and notice how it's not using generic_file_buffered_read() directly, it's doing its own thing first with checking for direct-IO, but then doing that nfs_revalidate_mapping() that checks whether caches should be re-validated. It's not just size of the file, the actual cached contents may need invalidating too etc. And note how the generic page cache reader doesn't need to care. If what the generic code does isn't enough, or is the wrong thing, the filesystem simply shouldn't use it, or, like NFS, do its own thing first/last. So I think the "some filesystems may have other rules" is irrelevant. If they do have other rules, it's _their_ issue, not the issue of the generic page cache read logic. Linus