NFS: various changes relating to reporting IO errors.
authorNeilBrown <neilb@suse.com>
Mon, 11 Sep 2017 03:15:50 +0000 (13:15 +1000)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 12 Sep 2017 02:28:56 +0000 (22:28 -0400)
commitbf4b49059718b2217339eb15c60f8753d5b0da99
tree2093c477762d126516f215e2d7241164f098d38d
parent8224b2734ab1da4996b851e1e5d3047e7a0df499
NFS: various changes relating to reporting IO errors.

1/ remove 'start' and 'end' args from nfs_file_fsync_commit().
   They aren't used.

2/ Make nfs_context_set_write_error() a "static inline" in internal.h
   so we can...

3/ Use nfs_context_set_write_error() instead of mapping_set_error()
   if nfs_pageio_add_request() fails before sending any request.
   NFS generally keeps errors in the open_context, not the mapping,
   so this is more consistent.

4/ If filemap_write_and_write_range() reports any error, still
   check ctx->error.  The value in ctx->error is likely to be
   more useful.  As part of this, NFS_CONTEXT_ERROR_WRITE is
   cleared slightly earlier, before nfs_file_fsync_commit() is called,
   rather than at the start of that function.

Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/file.c
fs/nfs/internal.h
fs/nfs/pagelist.c
fs/nfs/write.c