diff options
Diffstat (limited to 'include/linux/sunrpc')
| -rw-r--r-- | include/linux/sunrpc/auth.h | 9 | ||||
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 2 | ||||
| -rw-r--r-- | include/linux/sunrpc/gss_api.h | 2 | ||||
| -rw-r--r-- | include/linux/sunrpc/sched.h | 5 | ||||
| -rw-r--r-- | include/linux/sunrpc/svc_xprt.h | 1 | ||||
| -rw-r--r-- | include/linux/sunrpc/svcauth.h | 4 | ||||
| -rw-r--r-- | include/linux/sunrpc/xprt.h | 1 | ||||
| -rw-r--r-- | include/linux/sunrpc/xprtsock.h | 1 | 
8 files changed, 19 insertions, 6 deletions
| diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h index 899791573a40..4ccf184e971f 100644 --- a/include/linux/sunrpc/auth.h +++ b/include/linux/sunrpc/auth.h @@ -37,7 +37,6 @@ struct rpcsec_gss_info;  /* auth_cred ac_flags bits */  enum { -	RPC_CRED_NO_CRKEY_TIMEOUT = 0, /* underlying cred has no key timeout */  	RPC_CRED_KEY_EXPIRE_SOON = 1, /* underlying cred key will expire soon */  	RPC_CRED_NOTIFY_TIMEOUT = 2,   /* nofity generic cred when underlying  					key will expire soon */ @@ -82,6 +81,9 @@ struct rpc_cred {  #define RPCAUTH_CRED_MAGIC	0x0f4aa4f0 +/* rpc_auth au_flags */ +#define RPCAUTH_AUTH_NO_CRKEY_TIMEOUT	0x0001 /* underlying cred has no key timeout */ +  /*   * Client authentication handle   */ @@ -107,6 +109,9 @@ struct rpc_auth {  	/* per-flavor data */  }; +/* rpc_auth au_flags */ +#define RPCAUTH_AUTH_DATATOUCH	0x00000002 +  struct rpc_auth_create_args {  	rpc_authflavor_t pseudoflavor;  	const char *target_name; @@ -196,7 +201,7 @@ void			rpcauth_destroy_credcache(struct rpc_auth *);  void			rpcauth_clear_credcache(struct rpc_cred_cache *);  int			rpcauth_key_timeout_notify(struct rpc_auth *,  						struct rpc_cred *); -bool			rpcauth_cred_key_to_expire(struct rpc_cred *); +bool			rpcauth_cred_key_to_expire(struct rpc_auth *, struct rpc_cred *);  char *			rpcauth_stringify_acceptor(struct rpc_cred *);  static inline diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 19c659d1c0f8..b6810c92b8bb 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h @@ -137,8 +137,6 @@ struct rpc_create_args {  #define RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT	(1UL << 9)  struct rpc_clnt *rpc_create(struct rpc_create_args *args); -struct rpc_clnt *rpc_create_xprt(struct rpc_create_args *args, -					struct rpc_xprt *xprt);  struct rpc_clnt	*rpc_bind_new_program(struct rpc_clnt *,  				const struct rpc_program *, u32);  struct rpc_clnt *rpc_clone_client(struct rpc_clnt *); diff --git a/include/linux/sunrpc/gss_api.h b/include/linux/sunrpc/gss_api.h index 1f911ccb2a75..68ec78c1aa48 100644 --- a/include/linux/sunrpc/gss_api.h +++ b/include/linux/sunrpc/gss_api.h @@ -73,6 +73,7 @@ u32 gss_delete_sec_context(  rpc_authflavor_t gss_svc_to_pseudoflavor(struct gss_api_mech *, u32 qop,  					u32 service);  u32 gss_pseudoflavor_to_service(struct gss_api_mech *, u32 pseudoflavor); +bool gss_pseudoflavor_to_datatouch(struct gss_api_mech *, u32 pseudoflavor);  char *gss_service_to_auth_domain_name(struct gss_api_mech *, u32 service);  struct pf_desc { @@ -81,6 +82,7 @@ struct pf_desc {  	u32	service;  	char	*name;  	char	*auth_domain_name; +	bool	datatouch;  };  /* Different mechanisms (e.g., krb5 or spkm3) may implement gss-api, and diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index 05a1809c44d9..817af0b4385e 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h @@ -230,6 +230,10 @@ void		rpc_wake_up_queued_task(struct rpc_wait_queue *,  					struct rpc_task *);  void		rpc_wake_up(struct rpc_wait_queue *);  struct rpc_task *rpc_wake_up_next(struct rpc_wait_queue *); +struct rpc_task *rpc_wake_up_first_on_wq(struct workqueue_struct *wq, +					struct rpc_wait_queue *, +					bool (*)(struct rpc_task *, void *), +					void *);  struct rpc_task *rpc_wake_up_first(struct rpc_wait_queue *,  					bool (*)(struct rpc_task *, void *),  					void *); @@ -247,6 +251,7 @@ void		rpc_show_tasks(struct net *);  int		rpc_init_mempool(void);  void		rpc_destroy_mempool(void);  extern struct workqueue_struct *rpciod_workqueue; +extern struct workqueue_struct *xprtiod_workqueue;  void		rpc_prepare_task(struct rpc_task *task);  static inline int rpc_wait_for_completion_task(struct rpc_task *task) diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h index b7dabc4baafd..79ba50856707 100644 --- a/include/linux/sunrpc/svc_xprt.h +++ b/include/linux/sunrpc/svc_xprt.h @@ -84,6 +84,7 @@ struct svc_xprt {  	struct net		*xpt_net;  	struct rpc_xprt		*xpt_bc_xprt;	/* NFSv4.1 backchannel */ +	struct rpc_xprt_switch	*xpt_bc_xps;	/* NFSv4.1 backchannel */  };  static inline void unregister_xpt_user(struct svc_xprt *xpt, struct svc_xpt_user *u) diff --git a/include/linux/sunrpc/svcauth.h b/include/linux/sunrpc/svcauth.h index 91d5a5d6f52b..d03932055328 100644 --- a/include/linux/sunrpc/svcauth.h +++ b/include/linux/sunrpc/svcauth.h @@ -172,12 +172,12 @@ extern void unix_gid_cache_destroy(struct net *net);   */  static inline unsigned long hash_str(char const *name, int bits)  { -	return hashlen_hash(hashlen_string(name)) >> (32 - bits); +	return hashlen_hash(hashlen_string(NULL, name)) >> (32 - bits);  }  static inline unsigned long hash_mem(char const *buf, int length, int bits)  { -	return full_name_hash(buf, length) >> (32 - bits); +	return full_name_hash(NULL, buf, length) >> (32 - bits);  }  #endif /* __KERNEL__ */ diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index 5aa3834619a8..5e3e1b63dbb3 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h @@ -297,6 +297,7 @@ struct xprt_create {  	size_t			addrlen;  	const char		*servername;  	struct svc_xprt		*bc_xprt;	/* NFSv4.1 backchannel */ +	struct rpc_xprt_switch	*bc_xps;  	unsigned int		flags;  }; diff --git a/include/linux/sunrpc/xprtsock.h b/include/linux/sunrpc/xprtsock.h index 0ece4ba06f06..bef3fb0abb8f 100644 --- a/include/linux/sunrpc/xprtsock.h +++ b/include/linux/sunrpc/xprtsock.h @@ -80,6 +80,7 @@ struct sock_xprt {  #define TCP_RPC_REPLY		(1UL << 6)  #define XPRT_SOCK_CONNECTING	1U +#define XPRT_SOCK_DATA_READY	(2)  #endif /* __KERNEL__ */ |