On Tue, Jun 20, 2017 at 1:49 AM, Christoph Hellwig <hch@xxxxxx> wrote: > [stripped giant fullquotes] > > On Mon, Jun 19, 2017 at 10:53:12PM -0700, Andy Lutomirski wrote: >> But that's my whole point. The kernel doesn't really need to prevent >> all these background maintenance operations -- it just needs to block >> .page_mkwrite until they are synced. I think that whatever new >> mechanism we add for this should be sticky, but I see no reason why >> the filesystem should have to block reflink on a DAX file entirely. > > Agreed - IFF we want to support write through semantics this is the > only somewhat feasible way. It still has massive downsides of forcing > the full sync machinery to run from the page fauly handler, which > I'm rather scared off, but that's still better than creating a magic > special case that isn't managable at all. An immutable-extent DAX-file and a reflink-capable DAX-file are not mutually exclusive, and I have yet to hear a need for reflink support without fsync/msync. Instead I have heard the need for an immutable file for RDMA purposes, especially for hardware that can't trigger an mmu fault. The special management of an immutable file is acceptable to get these capabilities.