aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4_fs.h
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r--fs/nfs/nfs4_fs.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
index da0618aeead..a525fdefccd 100644
--- a/fs/nfs/nfs4_fs.h
+++ b/fs/nfs/nfs4_fs.h
@@ -132,8 +132,8 @@ struct nfs4_lock_owner {
132struct nfs4_lock_state { 132struct nfs4_lock_state {
133 struct list_head ls_locks; /* Other lock stateids */ 133 struct list_head ls_locks; /* Other lock stateids */
134 struct nfs4_state * ls_state; /* Pointer to open state */ 134 struct nfs4_state * ls_state; /* Pointer to open state */
135#define NFS_LOCK_INITIALIZED 1 135#define NFS_LOCK_INITIALIZED 0
136 int ls_flags; 136 unsigned long ls_flags;
137 struct nfs_seqid_counter ls_seqid; 137 struct nfs_seqid_counter ls_seqid;
138 nfs4_stateid ls_stateid; 138 nfs4_stateid ls_stateid;
139 atomic_t ls_count; 139 atomic_t ls_count;
@@ -191,6 +191,8 @@ struct nfs4_state_recovery_ops {
191 int (*establish_clid)(struct nfs_client *, struct rpc_cred *); 191 int (*establish_clid)(struct nfs_client *, struct rpc_cred *);
192 struct rpc_cred * (*get_clid_cred)(struct nfs_client *); 192 struct rpc_cred * (*get_clid_cred)(struct nfs_client *);
193 int (*reclaim_complete)(struct nfs_client *); 193 int (*reclaim_complete)(struct nfs_client *);
194 int (*detect_trunking)(struct nfs_client *, struct nfs_client **,
195 struct rpc_cred *);
194}; 196};
195 197
196struct nfs4_state_maintenance_ops { 198struct nfs4_state_maintenance_ops {
@@ -223,7 +225,7 @@ extern int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred);
223extern int nfs4_destroy_clientid(struct nfs_client *clp); 225extern int nfs4_destroy_clientid(struct nfs_client *clp);
224extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); 226extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *);
225extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *); 227extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *);
226extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc); 228extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait);
227extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle); 229extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle);
228extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *, 230extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *,
229 struct nfs4_fs_locations *, struct page *); 231 struct nfs4_fs_locations *, struct page *);
@@ -320,9 +322,15 @@ extern void nfs4_renew_state(struct work_struct *);
320/* nfs4state.c */ 322/* nfs4state.c */
321struct rpc_cred *nfs4_get_setclientid_cred(struct nfs_client *clp); 323struct rpc_cred *nfs4_get_setclientid_cred(struct nfs_client *clp);
322struct rpc_cred *nfs4_get_renew_cred_locked(struct nfs_client *clp); 324struct rpc_cred *nfs4_get_renew_cred_locked(struct nfs_client *clp);
325int nfs4_discover_server_trunking(struct nfs_client *clp,
326 struct nfs_client **);
327int nfs40_discover_server_trunking(struct nfs_client *clp,
328 struct nfs_client **, struct rpc_cred *);
323#if defined(CONFIG_NFS_V4_1) 329#if defined(CONFIG_NFS_V4_1)
324struct rpc_cred *nfs4_get_machine_cred_locked(struct nfs_client *clp); 330struct rpc_cred *nfs4_get_machine_cred_locked(struct nfs_client *clp);
325struct rpc_cred *nfs4_get_exchange_id_cred(struct nfs_client *clp); 331struct rpc_cred *nfs4_get_exchange_id_cred(struct nfs_client *clp);
332int nfs41_discover_server_trunking(struct nfs_client *clp,
333 struct nfs_client **, struct rpc_cred *);
326extern void nfs4_schedule_session_recovery(struct nfs4_session *, int); 334extern void nfs4_schedule_session_recovery(struct nfs4_session *, int);
327#else 335#else
328static inline void nfs4_schedule_session_recovery(struct nfs4_session *session, int err) 336static inline void nfs4_schedule_session_recovery(struct nfs4_session *session, int err)
@@ -351,7 +359,7 @@ extern void nfs41_handle_server_scope(struct nfs_client *,
351extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp); 359extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp);
352extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl); 360extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl);
353extern void nfs4_select_rw_stateid(nfs4_stateid *, struct nfs4_state *, 361extern void nfs4_select_rw_stateid(nfs4_stateid *, struct nfs4_state *,
354 fmode_t, fl_owner_t, pid_t); 362 fmode_t, const struct nfs_lockowner *);
355 363
356extern struct nfs_seqid *nfs_alloc_seqid(struct nfs_seqid_counter *counter, gfp_t gfp_mask); 364extern struct nfs_seqid *nfs_alloc_seqid(struct nfs_seqid_counter *counter, gfp_t gfp_mask);
357extern int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task); 365extern int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task);
@@ -372,6 +380,9 @@ extern bool nfs4_disable_idmapping;
372extern unsigned short max_session_slots; 380extern unsigned short max_session_slots;
373extern unsigned short send_implementation_id; 381extern unsigned short send_implementation_id;
374 382
383#define NFS4_CLIENT_ID_UNIQ_LEN (64)
384extern char nfs4_client_id_uniquifier[NFS4_CLIENT_ID_UNIQ_LEN];
385
375/* nfs4sysctl.c */ 386/* nfs4sysctl.c */
376#ifdef CONFIG_SYSCTL 387#ifdef CONFIG_SYSCTL
377int nfs4_register_sysctl(void); 388int nfs4_register_sysctl(void);