lkml.org 
[lkml]   [2017]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v5 08/17] dax: set errors in mapping when writeback fails
    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.

    \
     
     \ /
      Last update: 2017-06-12 00:37    [W:6.813 / U:0.260 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site