Thread (33 messages) 33 messages, 5 authors, 2016-05-08

Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io

From: "Verma, Vishal L" <vishal.l.verma@intel.com>
Date: 2016-05-05 21:45:07
Also in: linux-block, linux-fsdevel, linux-mm, linux-xfs, lkml

On Thu, 2016-05-05 at 08:22 -0700, Christoph Hellwig wrote:
On Thu, May 05, 2016 at 08:15:32AM -0700, Dan Williams wrote:
quoted
quoted
Agreed - makig O_DIRECT less direct than not having it is plain
stupid,
and I somehow missed this initially.
Of course I disagree because like Dave argues in the msync case we
should do the correct thing first and make it fast later, but also
like Dave this arguing in circles is getting tiresome.
We should do the right thing first, and make it fast later.  But this
proposal is not getting it right - it still does not handle errors
for the fast path, but magically makes it work for direct I/O by
in general using a less optional path for O_DIRECT.  It's getting the
worst of all choices.

As far as I can tell the only sensible option is to:

 - always try dax-like I/O first
 - have a custom get_user_pages + rw_bytes fallback handles bad blocks
   when hitting EIO
I'm not sure I completely understand how this will work? Can you explain
a bit? Would we have to export rw_bytes up to layers above the pmem
driver? Where does get_user_pages come in?
And then we need to sort out the concurrent write synchronization.
Again there I think we absolutely have to obey Posix for the !O_DIRECT
case and can avoid it for O_DIRECT, similar to the existing non-DAX
semantics.  If we want any special additional semantics we _will_ need
a special O_DAX flag.
_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help