All of lore.kernel.org
 help / color / mirror / Atom feed
From: Boaz Harrosh <boaz@plexistor.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	linux-block@vger.kernel.org, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <matthew@wil.cx>,
	Dave Chinner <david@fromorbit.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	XFS Developers <xfs@oss.sgi.com>, Jens Axboe <axboe@fb.com>,
	Linux MM <linux-mm@kvack.org>, Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io
Date: Mon, 02 May 2016 21:32:55 +0300	[thread overview]
Message-ID: <57279D57.5020800@plexistor.com> (raw)
In-Reply-To: <CAPcyv4hGV07gpADT32xn=3brEq75P4RJA592vp-1A+jXMQCeOQ@mail.gmail.com>

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


WARNING: multiple messages have this Message-ID (diff)
From: Boaz Harrosh <boaz@plexistor.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	linux-block@vger.kernel.org, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <matthew@wil.cx>,
	Dave Chinner <david@fromorbit.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	XFS Developers <xfs@oss.sgi.com>, Jens Axboe <axboe@fb.com>,
	Linux MM <linux-mm@kvack.org>, Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io
Date: Mon, 02 May 2016 21:32:55 +0300	[thread overview]
Message-ID: <57279D57.5020800@plexistor.com> (raw)
In-Reply-To: <CAPcyv4hGV07gpADT32xn=3brEq75P4RJA592vp-1A+jXMQCeOQ@mail.gmail.com>

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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

WARNING: multiple messages have this Message-ID (diff)
From: Boaz Harrosh <boaz@plexistor.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Jens Axboe <axboe@fb.com>, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <matthew@wil.cx>,
	Vishal Verma <vishal.l.verma@intel.com>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	XFS Developers <xfs@oss.sgi.com>,
	linux-block@vger.kernel.org, Linux MM <linux-mm@kvack.org>,
	Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io
Date: Mon, 02 May 2016 21:32:55 +0300	[thread overview]
Message-ID: <57279D57.5020800@plexistor.com> (raw)
In-Reply-To: <CAPcyv4hGV07gpADT32xn=3brEq75P4RJA592vp-1A+jXMQCeOQ@mail.gmail.com>

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

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

WARNING: multiple messages have this Message-ID (diff)
From: Boaz Harrosh <boaz@plexistor.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Vishal Verma <vishal.l.verma@intel.com>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
	linux-block@vger.kernel.org, Jan Kara <jack@suse.cz>,
	Matthew Wilcox <matthew@freeurl.abc188.com>,
	Dave Chinner <david@fromorbit.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	XFS Developers <xfs@oss.sgi.com>, Jens Axboe <axboe@fb.com>,
	Linux MM <linux-mm@kvack.org>, Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io
Date: Mon, 02 May 2016 21:32:55 +0300	[thread overview]
Message-ID: <57279D57.5020800@plexistor.com> (raw)
In-Reply-To: <CAPcyv4hGV07gpADT32xn=3brEq75P4RJA592vp-1A+jXMQCeOQ@mail.gmail.com>

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

  reply	other threads:[~2016-05-02 18:32 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-28 21:16 [PATCH v4 0/7] dax: handling media errors Vishal Verma
2016-04-28 21:16 ` Vishal Verma
2016-04-28 21:16 ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 1/7] block, dax: pass blk_dax_ctl through to drivers Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 2/7] dax: fallback from pmd to pte on error Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 3/7] dax: enable dax in the presence of known media errors (badblocks) Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 4/7] dax: use sb_issue_zerout instead of calling dax_clear_sectors Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-05-02 14:56   ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 15:45     ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:41   ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:51     ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 16:03       ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 18:52         ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 16:01     ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:22       ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:49         ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 17:44           ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 18:10             ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:32               ` Boaz Harrosh [this message]
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:48                 ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 19:22                   ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-05 14:24     ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 15:15       ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:22         ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 16:24           ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 21:45           ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-08  9:01             ` hch
2016-05-08  9:01               ` hch
2016-05-08  9:01               ` hch
2016-05-08  9:01               ` hch
2016-05-08 18:42               ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-05 21:42         ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:39       ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-08  9:01         ` hch
2016-05-08  9:01           ` hch
2016-05-08  9:01           ` hch
2016-05-08  9:01           ` hch
2016-04-28 21:16 ` [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 7/7] dax: fix a comment in dax_zero_page_range and dax_truncate_page Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-29 21:55 ` [PATCH v4 8/7] Documentation: add error handling information to dax.txt Vishal Verma
2016-04-29 21:55   ` Vishal Verma
2016-04-29 21:55   ` Vishal Verma
2016-04-29 21:55   ` Vishal Verma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57279D57.5020800@plexistor.com \
    --to=boaz@plexistor.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@fb.com \
    --cc=dan.j.williams@intel.com \
    --cc=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=matthew@wil.cx \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vishal.l.verma@intel.com \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.