Carlos Maiolino <cmaiolino@xxxxxxxxxx> wrote: > > > + block = page->index; > > > + block <<= shift; > > > > Can't this cause overflows? > > Hmm, I honestly don't know. I did look at the code, and I couldn't really spot > anything concrete. Maybe, though we'd have to support file sizes over 16 Exabytes for that to be a problem. Note that bmap() is *only* used to find out if the page is present in the cache - and even that I'm not actually doing very well, since I really *ought* to check every block in the page. I really want to replace the use of bmap entirely with iov_iter doing DIO. Cachefiles currently does double buffering because it works through the pagecache of the underlying to do actual read or write - and this appears to cause memory management problems. David