Jeff Layton <jlayton@xxxxxxxxxx> wrote: > On Mon, 2022-01-17 at 13:47 +0000, Matthew Wilcox wrote: > > This all falls very much under "doing it the hard way", and quite > > possibly under the "actively buggy with races" category. > > > > read_mapping_folio() does what you want, as long as you pass 'filp' > > as your 'void *data'. I should fix that type ... How much do we care about the case where we don't have either the CEPH_CAP_FILE_CACHE or the CEPH_CAP_FILE_LAZYIO caps? Is it possible just to shove the page into the pagecache whatever we do? At the moment there are two threads, both of which get a page - one attached to the page cache, one not. The rest is then common because from that point on, it doesn't matter where the folio resides. David