diff options
Diffstat (limited to 'fs/nfs/internal.h')
-rw-r--r-- | fs/nfs/internal.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/fs/nfs/internal.h b/fs/nfs/internal.h index 9e717796e57b..d4453d97c789 100644 --- a/fs/nfs/internal.h +++ b/fs/nfs/internal.h @@ -77,6 +77,7 @@ struct nfs_client_initdata { struct net *net; const struct rpc_timeout *timeparms; const struct cred *cred; + int nfs_prog; }; /* @@ -88,6 +89,8 @@ struct nfs_parsed_mount_data { unsigned int timeo, retrans; unsigned int acregmin, acregmax, acdirmin, acdirmax; + int nfs_prog; + int mount_prog; unsigned int namlen; unsigned int options; unsigned int bsize; @@ -145,11 +148,11 @@ struct nfs_mount_info { struct nfs_fh *mntfh; }; -extern int nfs_mount(struct nfs_mount_request *info); +extern int nfs_mount(struct nfs_mount_request *info, int prog); extern void nfs_umount(const struct nfs_mount_request *info); /* client.c */ -extern const struct rpc_program nfs_program; +extern struct rpc_program nfs_program; extern void nfs_clients_init(struct net *net); extern void nfs_clients_exit(struct net *net); extern struct nfs_client *nfs_alloc_client(const struct nfs_client_initdata *); @@ -411,7 +414,9 @@ extern int __init register_nfs_fs(void); extern void __exit unregister_nfs_fs(void); extern bool nfs_sb_active(struct super_block *sb); extern void nfs_sb_deactive(struct super_block *sb); - +extern int nfs_client_for_each_server(struct nfs_client *clp, + int (*fn)(struct nfs_server *, void *), + void *data); /* io.c */ extern void nfs_start_io_read(struct inode *inode); extern void nfs_end_io_read(struct inode *inode); @@ -775,6 +780,7 @@ static inline bool nfs_error_is_fatal_on_server(int err) case 0: case -ERESTARTSYS: case -EINTR: + case -ENOMEM: return false; } return nfs_error_is_fatal(err); |