summaryrefslogtreecommitdiff
path: root/fs/nfs/internal.h
diff options
context:
space:
mode:
authorWeston Andros Adamson <dros@monkey.org>2017-03-09 12:56:48 -0500
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2017-03-17 16:07:10 -0400
commita33e4b036d4612f62220f37a9fa29d273b6fd0ca (patch)
tree0a2fea5fc5a56cd582b8a337e33cbbbbfbe9cc10 /fs/nfs/internal.h
parent033853325fe3bdc70819a8b97915bd3bca41d3af (diff)
downloadlinux-exynos-a33e4b036d4612f62220f37a9fa29d273b6fd0ca.tar.gz
linux-exynos-a33e4b036d4612f62220f37a9fa29d273b6fd0ca.tar.bz2
linux-exynos-a33e4b036d4612f62220f37a9fa29d273b6fd0ca.zip
pNFS: return status from nfs4_pnfs_ds_connect
The nfs4_pnfs_ds_connect path can call rpc_create which can fail or it can wait on another context to reach the same failure. This checks that the rpc_create succeeded and returns the error to the caller. When an error is returned, both the files and flexfiles layouts will return NULL from _prepare_ds(). The flexfiles layout will also return the layout with the error NFS4ERR_NXIO. Signed-off-by: Weston Andros Adamson <dros@primarydata.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r--fs/nfs/internal.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h
index 09ca5095c04e..7b38fedb7e03 100644
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@ -186,6 +186,8 @@ extern struct nfs_server *nfs_clone_server(struct nfs_server *,
struct nfs_fh *,
struct nfs_fattr *,
rpc_authflavor_t);
+extern bool nfs_client_init_is_complete(const struct nfs_client *clp);
+extern int nfs_client_init_status(const struct nfs_client *clp);
extern int nfs_wait_client_init_complete(const struct nfs_client *clp);
extern void nfs_mark_client_ready(struct nfs_client *clp, int state);
extern struct nfs_client *nfs4_set_ds_client(struct nfs_server *mds_srv,