On Fri, Jan 25, 2019 at 2:31 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote: > > On Fri, Jan 25, 2019 at 2:04 PM Amir Goldstein <amir73il@xxxxxxxxx> wrote: > > Mmm.... so now using upper page cache for write does sound so bad. > > If only we had shared cache pages ;-) > > We can treat upper page cache as a vessel for writeback and invalidate > > it upon completion, since it is *ours*. > > I'll see what I can come up with. > > Just calling ->writepage() of upper fs won't work, filesystems do > preparatory work in ->prepare_write(), etc, and those need the struct > file... I don't think we are better off, than calling > vfs_write_iter(). With the cache on the overlay, I think we need to anchor the real file in the overlay inode instead of the overlay file. That applies to reads as well as writes. Not sure about lifetimes, obviously it's not good to keep the real file open if there's no I/O being done. Some heuristics will be needed, but first version could just keep the file open until the inode is evicted. Thanks, Miklos