On Sun, Aug 13, 2017 at 11:24:36AM +0200, Christoph Hellwig wrote: > And maybe that's where we need to converge - > "sealing" the extent map makes sense as such a temporary measure > that is not persisted on disk, which automatically gets released > when the holding process exits, because we sort of already do this > implicitly. That seems reasonable to me. Personally I don't need persistent state, and I'd only intended persistence to be so that we didn't get arbitrary processes whacking holes in the file when the DAX app wasn't running that would then cause for userspace data sync. Seeing as the interface is morphing away from a "fill holes and persist" interface to just a "seal the existing map" interface, it'll be up to the app/library to prep check file layout for sanity every time it is sealed. > It might also make sense to have explicitl breakable > seals similar to what I do for the pNFS blocks kernel server, as > any userspace RDMA file server would also need those semantics. How would that work? IIUC, we'd need userspace to take out a file lease so that it gets notified when the seal is going to be broken by the filesystem via the break_layouts() interface, and the break then blocks until the app releases the lease? So the seal lifetime is bounded by the lease? Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx