[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160912075128.GB21474@infradead.org>
Date: Mon, 12 Sep 2016 00:51:28 -0700
From: Christoph Hellwig <hch@...radead.org>
To: Oliver O'Halloran <oohall@...il.com>
Cc: Christoph Hellwig <hch@...radead.org>,
Yumei Huang <yuhuang@...hat.com>,
Michal Hocko <mhocko@...e.com>,
Xiao Guangrong <guangrong.xiao@...ux.intel.com>,
Andrew Morton <akpm@...ux-foundation.org>,
KVM list <kvm@...r.kernel.org>, Linux MM <linux-mm@...ck.org>,
Gleb Natapov <gleb@...nel.org>,
"linux-nvdimm@...ts.01.org" <linux-nvdimm@...1.01.org>,
mtosatti@...hat.com,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Dave Hansen <dave.hansen@...el.com>,
Stefan Hajnoczi <stefanha@...hat.com>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Paolo Bonzini <pbonzini@...hat.com>
Subject: Re: DAX mapping detection (was: Re: [PATCH] Fix region lost in
/proc/self/smaps)
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
> broken?
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
beginning anyway.
Powered by blists - more mailing lists