On Thu, Feb 14, 2019 at 12:20:11PM -0800, Dan Williams wrote: > On Thu, Feb 14, 2019 at 12:09 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote: > > > > On Thu, Feb 14, 2019 at 11:31:24AM -0800, Dan Williams wrote: > > > On Thu, Feb 14, 2019 at 11:10 AM Jerome Glisse <jglisse@xxxxxxxxxx> wrote: > > > > I am just again working on my struct page mapping patchset as well as > > > > the generic page write protection that sits on top. I hope to be able > > > > to post the v2 in couple weeks. You can always look at my posting last > > > > year to see more details. > > > > > > Yes, I have that in mind as one of the contenders. However, it's not > > > clear to me that its a suitable fit for filesystem-reflink. Others > > > have floated the 'page proxy' idea, so it would be good to discuss the > > > merits of the general approaches. > > > > ... and my preferred option of putting pfn entries in the page cache. > > Another option to include the discussion. > > > Or is that what you meant by "page proxy"? > > Page proxy would be an object that a filesystem could allocate to > point back to a single physical 'struct page *'. The proxy would > contain an override for page->index. Needs to override page->mapping, potentially the page flags, what happens when someone takes a gup reference to the proxy structure, etc? Besides, didn't we discuss all this last year? how about we start with a summary of all the options considered last year, the pros and cons, etc, and then go from there? Regurgitating everything we've already talked about last year doesn't seem particularly useful to me... Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx