All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Verma, Vishal L" <vishal.l.verma@intel.com>
To: "david@fromorbit.com" <david@fromorbit.com>,
	"jmoyer@redhat.com" <jmoyer@redhat.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"hch@infradead.org" <hch@infradead.org>,
	"xfs@oss.sgi.com" <xfs@oss.sgi.com>,
	"linux-nvdimm@ml01.01.org" <linux-nvdimm@ml01.01.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"axboe@fb.com" <axboe@fb.com>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	"Wilcox, Matthew R" <matthew.r.wilcox@intel.com>,
	"jack@suse.cz" <jack@suse.cz>
Subject: Re: [PATCH v2 5/5] dax: handle media errors in dax_do_io
Date: Mon, 2 May 2016 23:17:21 +0000	[thread overview]
Message-ID: <1462231029.1421.82.camel@intel.com> (raw)
In-Reply-To: <20160502230422.GQ26977@dastard>

On Tue, 2016-05-03 at 09:04 +1000, Dave Chinner wrote:
> On Mon, May 02, 2016 at 11:18:36AM -0400, Jeff Moyer wrote:
> > 
> > Dave Chinner <david@fromorbit.com> writes:
> > 
> > > 
> > > On Mon, Apr 25, 2016 at 11:53:13PM +0000, Verma, Vishal L wrote:
> > > > 
> > > > On Tue, 2016-04-26 at 09:25 +1000, Dave Chinner wrote:
> > > You're assuming that only the DAX aware application accesses it's
> > > files.  users, backup programs, data replicators, fileystem
> > > re-organisers (e.g.  defragmenters) etc all may access the files
> > > and
> > > they may throw errors. What then?
> > I'm not sure how this is any different from regular storage.  If an
> > application gets EIO, it's up to the app to decide what to do with
> > that.
> Sure - they'll fail. But the question I'm asking is that if the
> application that owns the data is supposed to do error recovery,
> what happens when a 3rd party application hits an error? If that
> consumes the error, the the app that owns the data won't ever get a
> chance to correct the error.
> 
> This is a minefield - a 3rd party app that swallows and clears DAX
> based IO errors is a data corruption vector. can yo imagine if
> *grep* did this? The model that is being promoted here effectively
> allows this sort of behaviour - I don't really think we
> should be architecting an error recovery strategy that has the
> capability to go this wrong....
> 

Just to address this bit - No. Any number of backup/3rd party
application can hit the error and _fail_ but surely they won't try to
_write_ the bad location? Only a write to the bad sector will clear it
in this model - and until such time, all reads will just keep erroring
out. This works for DAX/mmap based reads/writes too - mmap-stores
won't/can't clear errors - you have to go through the block path, and in
the altest version of my patch set, that has to be explicitly through
O_DIRECT.

WARNING: multiple messages have this Message-ID (diff)
From: "Verma, Vishal L" <vishal.l.verma@intel.com>
To: "david@fromorbit.com" <david@fromorbit.com>,
	"jmoyer@redhat.com" <jmoyer@redhat.com>
Cc: "hch@infradead.org" <hch@infradead.org>,
	"jack@suse.cz" <jack@suse.cz>, "axboe@fb.com" <axboe@fb.com>,
	"linux-nvdimm@ml01.01.org" <linux-nvdimm@ml01.01.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"xfs@oss.sgi.com" <xfs@oss.sgi.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"Williams, Dan J" <dan.j.williams@intel.com>,
	"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"Wilcox, Matthew R" <matthew.r.wilcox@intel.com>
Subject: Re: [PATCH v2 5/5] dax: handle media errors in dax_do_io
Date: Mon, 2 May 2016 23:17:21 +0000	[thread overview]
Message-ID: <1462231029.1421.82.camel@intel.com> (raw)
In-Reply-To: <20160502230422.GQ26977@dastard>

On Tue, 2016-05-03 at 09:04 +1000, Dave Chinner wrote:
> On Mon, May 02, 2016 at 11:18:36AM -0400, Jeff Moyer wrote:
> > 
> > Dave Chinner <david@fromorbit.com> writes:
> > 
> > > 
> > > On Mon, Apr 25, 2016 at 11:53:13PM +0000, Verma, Vishal L wrote:
> > > > 
> > > > On Tue, 2016-04-26 at 09:25 +1000, Dave Chinner wrote:
> > > You're assuming that only the DAX aware application accesses it's
> > > files.  users, backup programs, data replicators, fileystem
> > > re-organisers (e.g.  defragmenters) etc all may access the files
> > > and
> > > they may throw errors. What then?
> > I'm not sure how this is any different from regular storage.  If an
> > application gets EIO, it's up to the app to decide what to do with
> > that.
> Sure - they'll fail. But the question I'm asking is that if the
> application that owns the data is supposed to do error recovery,
> what happens when a 3rd party application hits an error? If that
> consumes the error, the the app that owns the data won't ever get a
> chance to correct the error.
> 
> This is a minefield - a 3rd party app that swallows and clears DAX
> based IO errors is a data corruption vector. can yo imagine if
> *grep* did this? The model that is being promoted here effectively
> allows this sort of behaviour - I don't really think we
> should be architecting an error recovery strategy that has the
> capability to go this wrong....
> 

Just to address this bit - No. Any number of backup/3rd party
application can hit the error and _fail_ but surely they won't try to
_write_ the bad location? Only a write to the bad sector will clear it
in this model - and until such time, all reads will just keep erroring
out. This works for DAX/mmap based reads/writes too - mmap-stores
won't/can't clear errors - you have to go through the block path, and in
the altest version of my patch set, that has to be explicitly through
O_DIRECT.
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2016-05-02 23:17 UTC|newest]

Thread overview: 216+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-30  1:59 [PATCH v2 0/5] dax: handling of media errors Vishal Verma
2016-03-30  1:59 ` Vishal Verma
2016-03-30  1:59 ` Vishal Verma
2016-03-30  1:59 ` Vishal Verma
2016-03-30  1:59 ` [PATCH v2 1/5] block, dax: pass blk_dax_ctl through to drivers Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  4:19   ` kbuild test robot
2016-03-30  4:19     ` kbuild test robot
2016-03-30  4:19     ` kbuild test robot
2016-03-30  4:19     ` kbuild test robot
2016-04-15 14:55   ` Jeff Moyer
2016-04-15 14:55     ` Jeff Moyer
2016-04-15 14:55     ` Jeff Moyer
2016-03-30  1:59 ` [PATCH v2 2/5] dax: fallback from pmd to pte on error Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-04-15 14:55   ` Jeff Moyer
2016-04-15 14:55     ` Jeff Moyer
2016-04-15 14:55     ` Jeff Moyer
2016-03-30  1:59 ` [PATCH v2 3/5] dax: enable dax in the presence of known media errors (badblocks) Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-04-15 14:56   ` Jeff Moyer
2016-04-15 14:56     ` Jeff Moyer
2016-04-15 14:56     ` Jeff Moyer
2016-03-30  1:59 ` [PATCH v2 4/5] dax: use sb_issue_zerout instead of calling dax_clear_sectors Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-04-15 15:18   ` Jeff Moyer
2016-04-15 15:18     ` Jeff Moyer
2016-04-15 15:18     ` Jeff Moyer
2016-03-30  1:59 ` [PATCH v2 5/5] dax: handle media errors in dax_do_io Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  1:59   ` Vishal Verma
2016-03-30  3:00   ` kbuild test robot
2016-03-30  3:00     ` kbuild test robot
2016-03-30  3:00     ` kbuild test robot
2016-03-30  3:00     ` kbuild test robot
2016-03-30  3:00     ` kbuild test robot
2016-03-30  3:00     ` kbuild test robot
2016-03-30  6:34   ` Christoph Hellwig
2016-03-30  6:34     ` Christoph Hellwig
2016-03-30  6:34     ` Christoph Hellwig
2016-03-30  6:54     ` Vishal Verma
2016-03-30  6:54       ` Vishal Verma
2016-03-30  6:54       ` Vishal Verma
2016-03-30  6:56       ` Christoph Hellwig
2016-03-30  6:56         ` Christoph Hellwig
2016-03-30  6:56         ` Christoph Hellwig
2016-04-15 16:11   ` Jeff Moyer
2016-04-15 16:11     ` Jeff Moyer
2016-04-15 16:11     ` Jeff Moyer
2016-04-15 16:54     ` Verma, Vishal L
2016-04-15 16:54       ` Verma, Vishal L
2016-04-15 16:54       ` Verma, Vishal L
2016-04-15 17:11       ` Jeff Moyer
2016-04-15 17:11         ` Jeff Moyer
2016-04-15 17:11         ` Jeff Moyer
2016-04-15 17:11         ` Jeff Moyer
2016-04-15 17:37         ` Verma, Vishal L
2016-04-15 17:37           ` Verma, Vishal L
2016-04-15 17:57           ` Dan Williams
2016-04-15 17:57             ` Dan Williams
2016-04-15 17:57             ` Dan Williams
2016-04-15 18:06             ` Jeff Moyer
2016-04-15 18:06               ` Jeff Moyer
2016-04-15 18:06               ` Jeff Moyer
2016-04-15 18:06               ` Jeff Moyer
2016-04-15 18:17               ` Dan Williams
2016-04-15 18:17                 ` Dan Williams
2016-04-15 18:17                 ` Dan Williams
2016-04-15 18:24                 ` Jeff Moyer
2016-04-15 18:24                   ` Jeff Moyer
2016-04-15 18:24                   ` Jeff Moyer
2016-04-15 18:24                   ` Jeff Moyer
2016-04-15 18:56                   ` Dan Williams
2016-04-15 18:56                     ` Dan Williams
2016-04-15 18:56                     ` Dan Williams
2016-04-15 19:13                     ` Jeff Moyer
2016-04-15 19:13                       ` Jeff Moyer
2016-04-15 19:13                       ` Jeff Moyer
2016-04-15 19:13                       ` Jeff Moyer
2016-04-15 19:01                 ` Toshi Kani
2016-04-15 19:01                   ` Toshi Kani
2016-04-15 19:01                   ` Toshi Kani
2016-04-15 19:01                   ` Toshi Kani
2016-04-15 19:08                   ` Toshi Kani
2016-04-15 19:08                     ` Toshi Kani
2016-04-15 19:08                     ` Toshi Kani
2016-04-15 19:08                     ` Toshi Kani
2016-04-20 20:59     ` Christoph Hellwig
2016-04-20 20:59       ` Christoph Hellwig
2016-04-20 20:59       ` Christoph Hellwig
2016-04-23 18:08       ` Verma, Vishal L
2016-04-23 18:08         ` Verma, Vishal L
2016-04-25  8:31         ` hch
2016-04-25  8:31           ` hch
2016-04-25  8:31           ` hch
2016-04-25 15:32           ` Jeff Moyer
2016-04-25 15:32             ` Jeff Moyer
2016-04-25 15:32             ` Jeff Moyer
2016-04-25 15:32             ` Jeff Moyer
2016-04-26  8:32             ` hch
2016-04-26  8:32               ` hch
2016-04-26  8:32               ` hch
2016-04-25 17:14           ` Verma, Vishal L
2016-04-25 17:14             ` Verma, Vishal L
2016-04-25 17:21             ` Dan Williams
2016-04-25 17:21               ` Dan Williams
2016-04-25 17:21               ` Dan Williams
2016-04-25 23:25             ` Dave Chinner
2016-04-25 23:25               ` Dave Chinner
2016-04-25 23:25               ` Dave Chinner
2016-04-25 23:25               ` Dave Chinner
2016-04-25 23:25               ` Dave Chinner
2016-04-25 23:34               ` Darrick J. Wong
2016-04-25 23:34                 ` Darrick J. Wong
2016-04-25 23:34                 ` Darrick J. Wong
2016-04-25 23:34                 ` Darrick J. Wong
2016-04-25 23:34                 ` Darrick J. Wong
2016-04-25 23:43               ` Dan Williams
2016-04-25 23:43                 ` Dan Williams
2016-04-25 23:43                 ` Dan Williams
2016-04-26  0:11                 ` Dave Chinner
2016-04-26  0:11                   ` Dave Chinner
2016-04-26  0:11                   ` Dave Chinner
2016-04-26  1:45                   ` Dan Williams
2016-04-26  1:45                     ` Dan Williams
2016-04-26  1:45                     ` Dan Williams
2016-04-26  2:56                     ` Dave Chinner
2016-04-26  2:56                       ` Dave Chinner
2016-04-26  2:56                       ` Dave Chinner
2016-04-26  4:18                       ` Dan Williams
2016-04-26  4:18                         ` Dan Williams
2016-04-26  4:18                         ` Dan Williams
2016-04-26  8:27                         ` Dave Chinner
2016-04-26  8:27                           ` Dave Chinner
2016-04-26  8:27                           ` Dave Chinner
2016-04-26 14:59                           ` Dan Williams
2016-04-26 14:59                             ` Dan Williams
2016-04-26 14:59                             ` Dan Williams
2016-04-26 15:31                             ` Jan Kara
2016-04-26 15:31                               ` Jan Kara
2016-04-26 15:31                               ` Jan Kara
2016-04-26 17:16                               ` Dan Williams
2016-04-26 17:16                                 ` Dan Williams
2016-04-26 17:16                                 ` Dan Williams
2016-04-25 23:53               ` Verma, Vishal L
2016-04-25 23:53                 ` Verma, Vishal L
2016-04-25 23:53                 ` Verma, Vishal L
2016-04-26  0:41                 ` Dave Chinner
2016-04-26  0:41                   ` Dave Chinner
2016-04-26  0:41                   ` Dave Chinner
2016-04-26  0:41                   ` Dave Chinner
2016-04-26  0:41                   ` Dave Chinner
2016-04-26 14:58                   ` Vishal Verma
2016-04-26 14:58                     ` Vishal Verma
2016-04-26 14:58                     ` Vishal Verma
2016-04-26 14:58                     ` Vishal Verma
2016-05-02 15:18                   ` Jeff Moyer
2016-05-02 15:18                     ` Jeff Moyer
2016-05-02 15:18                     ` Jeff Moyer
2016-05-02 15:18                     ` Jeff Moyer
2016-05-02 17:53                     ` Dan Williams
2016-05-02 17:53                       ` Dan Williams
2016-05-02 17:53                       ` Dan Williams
2016-05-03  0:42                       ` Dave Chinner
2016-05-03  0:42                         ` Dave Chinner
2016-05-03  0:42                         ` Dave Chinner
2016-05-03  1:26                         ` Rudoff, Andy
2016-05-03  1:26                           ` Rudoff, Andy
2016-05-03  2:49                           ` Dave Chinner
2016-05-03  2:49                             ` Dave Chinner
2016-05-03  2:49                             ` Dave Chinner
2016-05-03 18:30                             ` Rudoff, Andy
2016-05-03 18:30                               ` Rudoff, Andy
2016-05-03 18:30                               ` Rudoff, Andy
2016-05-04  1:36                               ` Dave Chinner
2016-05-04  1:36                                 ` Dave Chinner
2016-05-04  1:36                                 ` Dave Chinner
2016-05-02 23:04                     ` Dave Chinner
2016-05-02 23:04                       ` Dave Chinner
2016-05-02 23:04                       ` Dave Chinner
2016-05-02 23:04                       ` Dave Chinner
2016-05-02 23:04                       ` Dave Chinner
2016-05-02 23:17                       ` Verma, Vishal L [this message]
2016-05-02 23:17                         ` Verma, Vishal L
2016-05-02 23:25                       ` Dan Williams
2016-05-02 23:25                         ` Dan Williams
2016-05-02 23:25                         ` Dan Williams
2016-05-03  1:51                         ` Dave Chinner
2016-05-03  1:51                           ` Dave Chinner
2016-05-03  1:51                           ` Dave Chinner
2016-05-03 17:28                           ` Dan Williams
2016-05-03 17:28                             ` Dan Williams
2016-05-03 17:28                             ` Dan Williams
2016-05-04  3:18                             ` Dave Chinner
2016-05-04  3:18                               ` Dave Chinner
2016-05-04  3:18                               ` Dave Chinner
2016-05-04  5:05                               ` Dan Williams
2016-05-04  5:05                                 ` Dan Williams
2016-05-04  5:05                                 ` Dan Williams
2016-04-26  8:33             ` hch
2016-04-26  8:33               ` hch
2016-04-26  8:33               ` hch
2016-04-26 15:01               ` Vishal Verma
2016-04-26 15:01                 ` Vishal Verma
2016-04-26 15:01                 ` Vishal Verma
2016-04-26 15:01                 ` 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=1462231029.1421.82.camel@intel.com \
    --to=vishal.l.verma@intel.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=jmoyer@redhat.com \
    --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@ml01.01.org \
    --cc=matthew.r.wilcox@intel.com \
    --cc=viro@zeniv.linux.org.uk \
    --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.