diff options
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index 6ea07a3c75d4..a187200a7aac 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h | |||
@@ -44,7 +44,9 @@ enum nfs4_client_state { | |||
44 | NFS4CLNT_RECLAIM_REBOOT, | 44 | NFS4CLNT_RECLAIM_REBOOT, |
45 | NFS4CLNT_RECLAIM_NOGRACE, | 45 | NFS4CLNT_RECLAIM_NOGRACE, |
46 | NFS4CLNT_DELEGRETURN, | 46 | NFS4CLNT_DELEGRETURN, |
47 | NFS4CLNT_SESSION_SETUP, | 47 | NFS4CLNT_SESSION_RESET, |
48 | NFS4CLNT_SESSION_DRAINING, | ||
49 | NFS4CLNT_RECALL_SLOT, | ||
48 | }; | 50 | }; |
49 | 51 | ||
50 | /* | 52 | /* |
@@ -107,6 +109,10 @@ enum { | |||
107 | NFS_OWNER_RECLAIM_NOGRACE | 109 | NFS_OWNER_RECLAIM_NOGRACE |
108 | }; | 110 | }; |
109 | 111 | ||
112 | #define NFS_LOCK_NEW 0 | ||
113 | #define NFS_LOCK_RECLAIM 1 | ||
114 | #define NFS_LOCK_EXPIRED 2 | ||
115 | |||
110 | /* | 116 | /* |
111 | * struct nfs4_state maintains the client-side state for a given | 117 | * struct nfs4_state maintains the client-side state for a given |
112 | * (state_owner,inode) tuple (OPEN) or state_owner (LOCK). | 118 | * (state_owner,inode) tuple (OPEN) or state_owner (LOCK). |
@@ -141,6 +147,7 @@ enum { | |||
141 | NFS_O_RDWR_STATE, /* OPEN stateid has read/write state */ | 147 | NFS_O_RDWR_STATE, /* OPEN stateid has read/write state */ |
142 | NFS_STATE_RECLAIM_REBOOT, /* OPEN stateid server rebooted */ | 148 | NFS_STATE_RECLAIM_REBOOT, /* OPEN stateid server rebooted */ |
143 | NFS_STATE_RECLAIM_NOGRACE, /* OPEN stateid needs to recover state */ | 149 | NFS_STATE_RECLAIM_NOGRACE, /* OPEN stateid needs to recover state */ |
150 | NFS_STATE_POSIX_LOCKS, /* Posix locks are supported */ | ||
144 | }; | 151 | }; |
145 | 152 | ||
146 | struct nfs4_state { | 153 | struct nfs4_state { |
@@ -180,6 +187,7 @@ struct nfs4_state_recovery_ops { | |||
180 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); | 187 | int (*recover_lock)(struct nfs4_state *, struct file_lock *); |
181 | int (*establish_clid)(struct nfs_client *, struct rpc_cred *); | 188 | int (*establish_clid)(struct nfs_client *, struct rpc_cred *); |
182 | struct rpc_cred * (*get_clid_cred)(struct nfs_client *); | 189 | struct rpc_cred * (*get_clid_cred)(struct nfs_client *); |
190 | int (*reclaim_complete)(struct nfs_client *); | ||
183 | }; | 191 | }; |
184 | 192 | ||
185 | struct nfs4_state_maintenance_ops { | 193 | struct nfs4_state_maintenance_ops { |
@@ -200,9 +208,11 @@ extern ssize_t nfs4_listxattr(struct dentry *, char *, size_t); | |||
200 | /* nfs4proc.c */ | 208 | /* nfs4proc.c */ |
201 | extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struct rpc_cred *); | 209 | extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struct rpc_cred *); |
202 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *); | 210 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct rpc_cred *); |
211 | extern int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred); | ||
203 | extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); | 212 | extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); |
204 | extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); | 213 | extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); |
205 | extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); | 214 | extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); |
215 | extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *); | ||
206 | extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait); | 216 | extern int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait); |
207 | extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); | 217 | extern struct dentry *nfs4_atomic_open(struct inode *, struct dentry *, struct nameidata *); |
208 | extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); | 218 | extern int nfs4_open_revalidate(struct inode *, struct dentry *, int, struct nameidata *); |
@@ -218,9 +228,11 @@ extern int nfs4_setup_sequence(struct nfs_client *clp, | |||
218 | int cache_reply, struct rpc_task *task); | 228 | int cache_reply, struct rpc_task *task); |
219 | extern void nfs4_destroy_session(struct nfs4_session *session); | 229 | extern void nfs4_destroy_session(struct nfs4_session *session); |
220 | extern struct nfs4_session *nfs4_alloc_session(struct nfs_client *clp); | 230 | extern struct nfs4_session *nfs4_alloc_session(struct nfs_client *clp); |
221 | extern int nfs4_proc_create_session(struct nfs_client *, int reset); | 231 | extern int nfs4_proc_create_session(struct nfs_client *); |
222 | extern int nfs4_proc_destroy_session(struct nfs4_session *); | 232 | extern int nfs4_proc_destroy_session(struct nfs4_session *); |
223 | extern int nfs4_init_session(struct nfs_server *server); | 233 | extern int nfs4_init_session(struct nfs_server *server); |
234 | extern int nfs4_proc_get_lease_time(struct nfs_client *clp, | ||
235 | struct nfs_fsinfo *fsinfo); | ||
224 | #else /* CONFIG_NFS_v4_1 */ | 236 | #else /* CONFIG_NFS_v4_1 */ |
225 | static inline int nfs4_setup_sequence(struct nfs_client *clp, | 237 | static inline int nfs4_setup_sequence(struct nfs_client *clp, |
226 | struct nfs4_sequence_args *args, struct nfs4_sequence_res *res, | 238 | struct nfs4_sequence_args *args, struct nfs4_sequence_res *res, |
@@ -267,6 +279,9 @@ extern void nfs4_state_set_mode_locked(struct nfs4_state *, fmode_t); | |||
267 | extern void nfs4_schedule_state_recovery(struct nfs_client *); | 279 | extern void nfs4_schedule_state_recovery(struct nfs_client *); |
268 | extern void nfs4_schedule_state_manager(struct nfs_client *); | 280 | extern void nfs4_schedule_state_manager(struct nfs_client *); |
269 | extern int nfs4_state_mark_reclaim_nograce(struct nfs_client *clp, struct nfs4_state *state); | 281 | extern int nfs4_state_mark_reclaim_nograce(struct nfs_client *clp, struct nfs4_state *state); |
282 | extern int nfs4_state_mark_reclaim_reboot(struct nfs_client *clp, struct nfs4_state *state); | ||
283 | extern void nfs41_handle_sequence_flag_errors(struct nfs_client *clp, u32 flags); | ||
284 | extern void nfs41_handle_recall_slot(struct nfs_client *clp); | ||
270 | extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp); | 285 | extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp); |
271 | extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl); | 286 | extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl); |
272 | extern void nfs4_copy_stateid(nfs4_stateid *, struct nfs4_state *, fl_owner_t); | 287 | extern void nfs4_copy_stateid(nfs4_stateid *, struct nfs4_state *, fl_owner_t); |
@@ -275,6 +290,7 @@ extern struct nfs_seqid *nfs_alloc_seqid(struct nfs_seqid_counter *counter); | |||
275 | extern int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task); | 290 | extern int nfs_wait_on_sequence(struct nfs_seqid *seqid, struct rpc_task *task); |
276 | extern void nfs_increment_open_seqid(int status, struct nfs_seqid *seqid); | 291 | extern void nfs_increment_open_seqid(int status, struct nfs_seqid *seqid); |
277 | extern void nfs_increment_lock_seqid(int status, struct nfs_seqid *seqid); | 292 | extern void nfs_increment_lock_seqid(int status, struct nfs_seqid *seqid); |
293 | extern void nfs_release_seqid(struct nfs_seqid *seqid); | ||
278 | extern void nfs_free_seqid(struct nfs_seqid *seqid); | 294 | extern void nfs_free_seqid(struct nfs_seqid *seqid); |
279 | 295 | ||
280 | extern const nfs4_stateid zero_stateid; | 296 | extern const nfs4_stateid zero_stateid; |
@@ -287,6 +303,7 @@ struct nfs4_mount_data; | |||
287 | 303 | ||
288 | /* callback_xdr.c */ | 304 | /* callback_xdr.c */ |
289 | extern struct svc_version nfs4_callback_version1; | 305 | extern struct svc_version nfs4_callback_version1; |
306 | extern struct svc_version nfs4_callback_version4; | ||
290 | 307 | ||
291 | #else | 308 | #else |
292 | 309 | ||