diff options
Diffstat (limited to 'fs/nfs/nfs4_fs.h')
-rw-r--r-- | fs/nfs/nfs4_fs.h | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index c4a69833dd0..3e93e9a1bee 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h | |||
@@ -48,6 +48,7 @@ enum nfs4_client_state { | |||
48 | NFS4CLNT_SESSION_RESET, | 48 | NFS4CLNT_SESSION_RESET, |
49 | NFS4CLNT_RECALL_SLOT, | 49 | NFS4CLNT_RECALL_SLOT, |
50 | NFS4CLNT_LEASE_CONFIRM, | 50 | NFS4CLNT_LEASE_CONFIRM, |
51 | NFS4CLNT_SERVER_SCOPE_MISMATCH, | ||
51 | }; | 52 | }; |
52 | 53 | ||
53 | enum nfs4_session_state { | 54 | enum nfs4_session_state { |
@@ -55,6 +56,9 @@ enum nfs4_session_state { | |||
55 | NFS4_SESSION_DRAINING, | 56 | NFS4_SESSION_DRAINING, |
56 | }; | 57 | }; |
57 | 58 | ||
59 | #define NFS4_RENEW_TIMEOUT 0x01 | ||
60 | #define NFS4_RENEW_DELEGATION_CB 0x02 | ||
61 | |||
58 | struct nfs4_minor_version_ops { | 62 | struct nfs4_minor_version_ops { |
59 | u32 minor_version; | 63 | u32 minor_version; |
60 | 64 | ||
@@ -66,6 +70,8 @@ struct nfs4_minor_version_ops { | |||
66 | int cache_reply); | 70 | int cache_reply); |
67 | int (*validate_stateid)(struct nfs_delegation *, | 71 | int (*validate_stateid)(struct nfs_delegation *, |
68 | const nfs4_stateid *); | 72 | const nfs4_stateid *); |
73 | int (*find_root_sec)(struct nfs_server *, struct nfs_fh *, | ||
74 | struct nfs_fsinfo *); | ||
69 | const struct nfs4_state_recovery_ops *reboot_recovery_ops; | 75 | const struct nfs4_state_recovery_ops *reboot_recovery_ops; |
70 | const struct nfs4_state_recovery_ops *nograce_recovery_ops; | 76 | const struct nfs4_state_recovery_ops *nograce_recovery_ops; |
71 | const struct nfs4_state_maintenance_ops *state_renewal_ops; | 77 | const struct nfs4_state_maintenance_ops *state_renewal_ops; |
@@ -222,7 +228,7 @@ struct nfs4_state_recovery_ops { | |||
222 | }; | 228 | }; |
223 | 229 | ||
224 | struct nfs4_state_maintenance_ops { | 230 | struct nfs4_state_maintenance_ops { |
225 | int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *); | 231 | int (*sched_state_renewal)(struct nfs_client *, struct rpc_cred *, unsigned); |
226 | struct rpc_cred * (*get_state_renewal_cred_locked)(struct nfs_client *); | 232 | struct rpc_cred * (*get_state_renewal_cred_locked)(struct nfs_client *); |
227 | int (*renew_lease)(struct nfs_client *, struct rpc_cred *); | 233 | int (*renew_lease)(struct nfs_client *, struct rpc_cred *); |
228 | }; | 234 | }; |
@@ -234,11 +240,9 @@ extern const struct inode_operations nfs4_dir_inode_operations; | |||
234 | extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struct rpc_cred *, struct nfs4_setclientid_res *); | 240 | extern int nfs4_proc_setclientid(struct nfs_client *, u32, unsigned short, struct rpc_cred *, struct nfs4_setclientid_res *); |
235 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct nfs4_setclientid_res *arg, struct rpc_cred *); | 241 | extern int nfs4_proc_setclientid_confirm(struct nfs_client *, struct nfs4_setclientid_res *arg, struct rpc_cred *); |
236 | extern int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred); | 242 | extern int nfs4_proc_exchange_id(struct nfs_client *clp, struct rpc_cred *cred); |
237 | extern int nfs4_proc_async_renew(struct nfs_client *, struct rpc_cred *); | ||
238 | extern int nfs4_proc_renew(struct nfs_client *, struct rpc_cred *); | ||
239 | extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); | 243 | extern int nfs4_init_clientid(struct nfs_client *, struct rpc_cred *); |
240 | extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *); | 244 | extern int nfs41_init_clientid(struct nfs_client *, struct rpc_cred *); |
241 | extern int nfs4_do_close(struct path *path, struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc); | 245 | extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait, bool roc); |
242 | extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle); | 246 | extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle); |
243 | extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, | 247 | extern int nfs4_proc_fs_locations(struct inode *dir, const struct qstr *name, |
244 | struct nfs4_fs_locations *fs_locations, struct page *page); | 248 | struct nfs4_fs_locations *fs_locations, struct page *page); |
@@ -315,7 +319,7 @@ extern const struct nfs4_minor_version_ops *nfs_v4_minor_ops[]; | |||
315 | extern const u32 nfs4_fattr_bitmap[2]; | 319 | extern const u32 nfs4_fattr_bitmap[2]; |
316 | extern const u32 nfs4_statfs_bitmap[2]; | 320 | extern const u32 nfs4_statfs_bitmap[2]; |
317 | extern const u32 nfs4_pathconf_bitmap[2]; | 321 | extern const u32 nfs4_pathconf_bitmap[2]; |
318 | extern const u32 nfs4_fsinfo_bitmap[2]; | 322 | extern const u32 nfs4_fsinfo_bitmap[3]; |
319 | extern const u32 nfs4_fs_locations_bitmap[2]; | 323 | extern const u32 nfs4_fs_locations_bitmap[2]; |
320 | 324 | ||
321 | /* nfs4renewd.c */ | 325 | /* nfs4renewd.c */ |
@@ -341,14 +345,17 @@ extern struct nfs4_state_owner * nfs4_get_state_owner(struct nfs_server *, struc | |||
341 | extern void nfs4_put_state_owner(struct nfs4_state_owner *); | 345 | extern void nfs4_put_state_owner(struct nfs4_state_owner *); |
342 | extern struct nfs4_state * nfs4_get_open_state(struct inode *, struct nfs4_state_owner *); | 346 | extern struct nfs4_state * nfs4_get_open_state(struct inode *, struct nfs4_state_owner *); |
343 | extern void nfs4_put_open_state(struct nfs4_state *); | 347 | extern void nfs4_put_open_state(struct nfs4_state *); |
344 | extern void nfs4_close_state(struct path *, struct nfs4_state *, fmode_t); | 348 | extern void nfs4_close_state(struct nfs4_state *, fmode_t); |
345 | extern void nfs4_close_sync(struct path *, struct nfs4_state *, fmode_t); | 349 | extern void nfs4_close_sync(struct nfs4_state *, fmode_t); |
346 | extern void nfs4_state_set_mode_locked(struct nfs4_state *, fmode_t); | 350 | extern void nfs4_state_set_mode_locked(struct nfs4_state *, fmode_t); |
347 | extern void nfs4_schedule_lease_recovery(struct nfs_client *); | 351 | extern void nfs4_schedule_lease_recovery(struct nfs_client *); |
348 | extern void nfs4_schedule_state_manager(struct nfs_client *); | 352 | extern void nfs4_schedule_state_manager(struct nfs_client *); |
353 | extern void nfs4_schedule_path_down_recovery(struct nfs_client *clp); | ||
349 | extern void nfs4_schedule_stateid_recovery(const struct nfs_server *, struct nfs4_state *); | 354 | extern void nfs4_schedule_stateid_recovery(const struct nfs_server *, struct nfs4_state *); |
350 | extern void nfs41_handle_sequence_flag_errors(struct nfs_client *clp, u32 flags); | 355 | extern void nfs41_handle_sequence_flag_errors(struct nfs_client *clp, u32 flags); |
351 | extern void nfs41_handle_recall_slot(struct nfs_client *clp); | 356 | extern void nfs41_handle_recall_slot(struct nfs_client *clp); |
357 | extern void nfs41_handle_server_scope(struct nfs_client *, | ||
358 | struct server_scope **); | ||
352 | extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp); | 359 | extern void nfs4_put_lock_state(struct nfs4_lock_state *lsp); |
353 | extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl); | 360 | extern int nfs4_set_lock_state(struct nfs4_state *state, struct file_lock *fl); |
354 | extern void nfs4_copy_stateid(nfs4_stateid *, struct nfs4_state *, fl_owner_t, pid_t); | 361 | extern void nfs4_copy_stateid(nfs4_stateid *, struct nfs4_state *, fl_owner_t, pid_t); |
@@ -373,8 +380,8 @@ extern struct svc_version nfs4_callback_version4; | |||
373 | 380 | ||
374 | #else | 381 | #else |
375 | 382 | ||
376 | #define nfs4_close_state(a, b, c) do { } while (0) | 383 | #define nfs4_close_state(a, b) do { } while (0) |
377 | #define nfs4_close_sync(a, b, c) do { } while (0) | 384 | #define nfs4_close_sync(a, b) do { } while (0) |
378 | 385 | ||
379 | #endif /* CONFIG_NFS_V4 */ | 386 | #endif /* CONFIG_NFS_V4 */ |
380 | #endif /* __LINUX_FS_NFS_NFS4_FS.H */ | 387 | #endif /* __LINUX_FS_NFS_NFS4_FS.H */ |