On Mon, Sep 12, 2016 at 05:25:15PM +1000, Oliver O'Halloran wrote:
What are the problems here? Is this a matter of existing filesystems
being unable/unwilling to support this or is it just fundamentally
It's a fundamentally broken model. See Dave's post that actually was
sent slightly earlier then mine for the list of required items, which
is fairly unrealistic. You could probably try to architect a file
system for it, but I doubt it would gain much traction.
The end goal is to let applications manage the persistence of
their own data without having to involve the kernel in every IOP, but
if we can't do that then what would a 90% solution look like? I think
most people would be OK with having to do an fsync() occasionally, but
not after ever write to pmem.
You need an fsync for each write that you want to persist. This sounds
painful for now. But I have an implementation that will allow the
atomic commit of more or less arbitrary amounts of previous writes for
XFS that I plan to land once the reflink work is in.
That way you create almost arbitrarily complex data structures in your
programs and commit them atomicly. It's not going to fit the nvml
model, but that whole think has been complete bullshit since the