diff options
author | Peng Tao <tao.peng@primarydata.com> | 2015-12-04 02:57:48 +0800 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@primarydata.com> | 2015-12-28 14:32:36 -0500 |
commit | d600ad1f2bdbf97c4818dcc85b174f72c90c21bd (patch) | |
tree | daec357d0f24c241834d7c37e3adc723925e369f /fs/nfs/read.c | |
parent | d0379a5d066a998b0210a81dc52e266ce4daaa36 (diff) | |
download | linux-d600ad1f2bdbf97c4818dcc85b174f72c90c21bd.tar.gz linux-d600ad1f2bdbf97c4818dcc85b174f72c90c21bd.tar.bz2 linux-d600ad1f2bdbf97c4818dcc85b174f72c90c21bd.zip |
NFS41: pop some layoutget errors to application
For ERESTARTSYS/EIO/EROFS/ENOSPC/E2BIG in layoutget, we
should just bail out instead of hiding the error and
retrying inband IO.
Change all the call sites to pop the error all the way up.
Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Diffstat (limited to 'fs/nfs/read.c')
-rw-r--r-- | fs/nfs/read.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/read.c b/fs/nfs/read.c index 0a5e33f33b5c..0bb580174cb3 100644 --- a/fs/nfs/read.c +++ b/fs/nfs/read.c @@ -115,7 +115,7 @@ int nfs_readpage_async(struct nfs_open_context *ctx, struct inode *inode, pgm = &pgio.pg_mirrors[0]; NFS_I(inode)->read_io += pgm->pg_bytes_written; - return 0; + return pgio.pg_error < 0 ? pgio.pg_error : 0; } static void nfs_readpage_release(struct nfs_page *req) |