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

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

From: Boaz Harrosh <hidden>
Date: 2016-05-02 18:32:55
Also in: linux-ext4, linux-fsdevel, linux-mm, linux-xfs, lkml, nvdimm

On 05/02/2016 09:10 PM, Dan Williams wrote:
<>
The semantic I am talking about preserving is:

buffered / unaligned write of a bad sector => -EIO on reading into the
page cache
What about aligned buffered write? like write 0-to-eof
This still broken? (and is what restore apps do)
...and that the only guaranteed way to clear an error (assuming the
block device supports it) is an O_DIRECT write.
Sure fixing dax_do_io will guaranty that.

<>
I still think we're talking past each other on this point.  
Yes we are!
This patch
set is not overloading error semantics, it's fixing the error handling
problem that was introduced in this commit:

   d475c6346a38 dax,ext2: replace XIP read and write with DAX I/O

...where we started overloading O_DIRECT and dax_do_io() semantics.
But above does not fix them does it? it just completely NULLs DAX for
O_DIRECT which is a great pity, why did we do all this work in the first
place.

And then it keeps broken the aligned buffered writes, which are still
broken after this set.

I have by now read the v2 patches. And I think you guys did not yet try
the proper fix for dax_do_io. I think you need to go deeper into the loops
and selectively call bdev_* when error on a specific page copy. No need to
go through direct_IO path at all.
Do you need that I send you a patch to demonstrate what I mean?

But yes I feel too that "we're talking past each other". I did want
to come to LSF and talk to you, but was not invited. Should I call you?

Thanks
Boaz
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help