All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Al Viro <viro@ZenIV.linux.org.uk>,  Jan Kara <jack@suse.cz>,
	tytso@mit.edu, axboe@kernel.dk, mawilcox@microsoft.com,
	corbet@lwn.net, linux-ext4@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org, linux-doc@vger.kernel.org
Subject: Re: [PATCH v5 08/17] dax: set errors in mapping when writeback fails
Date: Mon, 05 Jun 2017 21:08:26 -0400	[thread overview]
Message-ID: <1496711306.2815.0.camel@redhat.com> (raw)
In-Reply-To: <20170606010153.GA7489@linux.intel.com>

On Mon, 2017-06-05 at 19:01 -0600, Ross Zwisler wrote:
> On Wed, May 31, 2017 at 08:45:31AM -0400, Jeff Layton wrote:
> > Jan's description for this patch is much better than mine, so I'm
> > quoting it verbatim here:
> > 
> > -----------------8<-----------------
> > DAX currently doesn't set errors in the mapping when cache flushing
> > fails in dax_writeback_mapping_range(). Since this function can get
> > called only from fsync(2) or sync(2), this is actually as good as it can
> > currently get since we correctly propagate the error up from
> > dax_writeback_mapping_range() to filemap_fdatawrite()
> > 
> > However, in the future better writeback error handling will enable us to
> > properly report these errors on fsync(2) even if there are multiple file
> > descriptors open against the file or if sync(2) gets called before
> > fsync(2). So convert DAX to using standard error reporting through the
> > mapping.
> > -----------------8<-----------------
> > 
> > For now, only do this when the FS_WB_ERRSEQ flag is set. The
> > AS_EIO/AS_ENOSPC flags are not currently cleared in the older code when
> > writeback initiation fails, only when we discover an error after waiting
> > on writeback to complete, so we only want to do this with errseq_t based
> > error handling to prevent seeing duplicate errors on fsync.
> > 
> > Signed-off-by: Jeff Layton <jlayton@redhat.com>
> > Reviewed-by: Jan Kara <jack@suse.cz>
> > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > Reviewed-and-Tested-by: Ross Zwisler <ross.zwisler@linux.intel.com>
> 
> Re-tested this version of the series with some injected DAX errors, and it
> looks good.

Excellent! Thanks very much for helping test it.

-- 
Jeff Layton <jlayton@redhat.com>

  reply	other threads:[~2017-06-06  1:08 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-31 12:45 [PATCH v5 00/17] fs: introduce new writeback error reporting and convert ext2 and ext4 to use it Jeff Layton
2017-05-31 12:45 ` [PATCH v5 01/17] lib: add errseq_t type and infrastructure for handling it Jeff Layton
2017-05-31 12:45 ` [PATCH v5 02/17] fs: new infrastructure for writeback error handling and reporting Jeff Layton
2017-05-31 12:45 ` [PATCH v5 03/17] mm: tracepoints for writeback error events Jeff Layton
2017-05-31 12:45 ` [PATCH v5 04/17] fs: add a new fstype flag to indicate how writeback errors are tracked Jeff Layton
2017-05-31 12:45 ` [PATCH v5 05/17] Documentation: flesh out the section in vfs.txt on storing and reporting writeback errors Jeff Layton
2017-05-31 12:45 ` [PATCH v5 06/17] fs: adapt sync_file_range to new reporting infrastructure Jeff Layton
2017-05-31 12:45 ` [PATCH v5 07/17] mm: add filemap_fdatawait_range_since and filemap_write_and_wait_range_since Jeff Layton
2017-05-31 12:45 ` [PATCH v5 08/17] dax: set errors in mapping when writeback fails Jeff Layton
2017-06-06  1:01   ` Ross Zwisler
2017-06-06  1:08     ` Jeff Layton [this message]
2017-05-31 12:45 ` [PATCH v5 09/17] block: convert to errseq_t based writeback error tracking Jeff Layton
2017-05-31 12:45 ` [PATCH v5 10/17] block: add sync_blockdev_since and sync_filesystem_since Jeff Layton
2017-05-31 12:45 ` [PATCH v5 11/17] fs: add f_md_wb_err field to struct file for tracking metadata errors Jeff Layton
2017-05-31 12:45 ` [PATCH v5 12/17] fs: allow __generic_file_fsync to support both flavors of error reporting Jeff Layton
2017-05-31 12:45 ` [PATCH v5 13/17] jbd2: conditionally handle errors using errseq_t based on FS_WB_ERRSEQ flag Jeff Layton
2017-05-31 12:45 ` [PATCH v5 14/17] ext4: convert to errseq_t based error tracking Jeff Layton
2017-05-31 12:45 ` [PATCH v5 15/17] fs: add a write_one_page_since Jeff Layton
2017-05-31 12:45 ` [PATCH v5 16/17] ext2: convert to errseq_t based writeback error tracking Jeff Layton
2017-05-31 12:45 ` [PATCH v5 17/17] fs: convert ext2 to use write_one_page_since Jeff Layton
2017-05-31 20:27 ` [PATCH v5 00/17] fs: introduce new writeback error reporting and convert ext2 and ext4 to use it Andrew Morton
2017-05-31 21:31   ` Jeff Layton
2017-05-31 21:37     ` Andrew Morton
2017-05-31 22:01       ` Jeff Layton
2017-06-02  5:25 ` Ross Zwisler
2017-06-02 10:07   ` Jeff Layton

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=1496711306.2815.0.camel@redhat.com \
    --to=jlayton@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@kernel.dk \
    --cc=corbet@lwn.net \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mawilcox@microsoft.com \
    --cc=ross.zwisler@linux.intel.com \
    --cc=tytso@mit.edu \
    --cc=viro@ZenIV.linux.org.uk \
    /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.