diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 16:19:36 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 16:19:36 -0400 |
| commit | 5df6b8e65ad0f2eaee202ff002ac00d1ac605315 (patch) | |
| tree | 2eff6606f8e39dc1fd7eb8a05feb2a9927151805 /include/linux | |
| parent | fe21ea18c742ab0eb8f6f8ebc543374839a02a87 (diff) | |
| parent | 3dce9a5c3a39a664e372886ea86c42ae7ae33dfc (diff) | |
Merge branch 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
* 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (42 commits)
NFS: NFSv4.1 is no longer a "developer only" feature
NFS: NFS_V4 is no longer an EXPERIMENTAL feature
NFS: Fix /proc/mount for legacy binary interface
NFS: Fix the locking in nfs4_callback_getattr
SUNRPC: Defer deleting the security context until gss_do_free_ctx()
SUNRPC: prevent task_cleanup running on freed xprt
SUNRPC: Reduce asynchronous RPC task stack usage
SUNRPC: Move the bound cred to struct rpc_rqst
SUNRPC: Clean up of rpc_bindcred()
SUNRPC: Move remaining RPC client related task initialisation into clnt.c
SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task
SUNRPC: Make the credential cache hashtable size configurable
SUNRPC: Store the hashtable size in struct rpc_cred_cache
NFS: Ensure the AUTH_UNIX credcache is allocated dynamically
NFS: Fix the NFS users of rpc_restart_call()
SUNRPC: The function rpc_restart_call() should return success/failure
NFSv4: Get rid of the bogus RPC_ASSASSINATED(task) checks
NFSv4: Clean up the process of renewing the NFSv4 lease
NFSv4.1: Handle NFS4ERR_DELAY on SEQUENCE correctly
NFS: nfs_rename() should not have to flush out writebacks
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfs4.h | 1 | ||||
| -rw-r--r-- | include/linux/nfs_fs.h | 13 | ||||
| -rw-r--r-- | include/linux/nfs_fs_sb.h | 7 | ||||
| -rw-r--r-- | include/linux/nfs_mount.h | 1 | ||||
| -rw-r--r-- | include/linux/nfs_page.h | 1 | ||||
| -rw-r--r-- | include/linux/nfs_xdr.h | 12 | ||||
| -rw-r--r-- | include/linux/sunrpc/auth.h | 21 | ||||
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 5 | ||||
| -rw-r--r-- | include/linux/sunrpc/sched.h | 7 | ||||
| -rw-r--r-- | include/linux/sunrpc/xprt.h | 1 |
10 files changed, 38 insertions, 31 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 9b8299af3741..07e40c625972 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h | |||
| @@ -523,6 +523,7 @@ enum { | |||
| 523 | NFSPROC4_CLNT_GETACL, | 523 | NFSPROC4_CLNT_GETACL, |
| 524 | NFSPROC4_CLNT_SETACL, | 524 | NFSPROC4_CLNT_SETACL, |
| 525 | NFSPROC4_CLNT_FS_LOCATIONS, | 525 | NFSPROC4_CLNT_FS_LOCATIONS, |
| 526 | NFSPROC4_CLNT_RELEASE_LOCKOWNER, | ||
| 526 | 527 | ||
| 527 | /* nfs41 */ | 528 | /* nfs41 */ |
| 528 | NFSPROC4_CLNT_EXCHANGE_ID, | 529 | NFSPROC4_CLNT_EXCHANGE_ID, |
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index bad4d121b16e..508f8cf6da37 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -72,13 +72,20 @@ struct nfs_access_entry { | |||
| 72 | int mask; | 72 | int mask; |
| 73 | }; | 73 | }; |
| 74 | 74 | ||
| 75 | struct nfs_lock_context { | ||
| 76 | atomic_t count; | ||
| 77 | struct list_head list; | ||
| 78 | struct nfs_open_context *open_context; | ||
| 79 | fl_owner_t lockowner; | ||
| 80 | pid_t pid; | ||
| 81 | }; | ||
| 82 | |||
| 75 | struct nfs4_state; | 83 | struct nfs4_state; |
| 76 | struct nfs_open_context { | 84 | struct nfs_open_context { |
| 77 | atomic_t count; | 85 | struct nfs_lock_context lock_context; |
| 78 | struct path path; | 86 | struct path path; |
| 79 | struct rpc_cred *cred; | 87 | struct rpc_cred *cred; |
| 80 | struct nfs4_state *state; | 88 | struct nfs4_state *state; |
| 81 | fl_owner_t lockowner; | ||
| 82 | fmode_t mode; | 89 | fmode_t mode; |
| 83 | 90 | ||
| 84 | unsigned long flags; | 91 | unsigned long flags; |
| @@ -353,6 +360,8 @@ extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | |||
| 353 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 360 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
| 354 | extern void put_nfs_open_context(struct nfs_open_context *ctx); | 361 | extern void put_nfs_open_context(struct nfs_open_context *ctx); |
| 355 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); | 362 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); |
| 363 | extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx); | ||
| 364 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); | ||
| 356 | extern u64 nfs_compat_user_ino64(u64 fileid); | 365 | extern u64 nfs_compat_user_ino64(u64 fileid); |
| 357 | extern void nfs_fattr_init(struct nfs_fattr *fattr); | 366 | extern void nfs_fattr_init(struct nfs_fattr *fattr); |
| 358 | 367 | ||
diff --git a/include/linux/nfs_fs_sb.h b/include/linux/nfs_fs_sb.h index d6e10a4c06e5..c82ee7cd6288 100644 --- a/include/linux/nfs_fs_sb.h +++ b/include/linux/nfs_fs_sb.h | |||
| @@ -15,6 +15,7 @@ struct nlm_host; | |||
| 15 | struct nfs4_sequence_args; | 15 | struct nfs4_sequence_args; |
| 16 | struct nfs4_sequence_res; | 16 | struct nfs4_sequence_res; |
| 17 | struct nfs_server; | 17 | struct nfs_server; |
| 18 | struct nfs4_minor_version_ops; | ||
| 18 | 19 | ||
| 19 | /* | 20 | /* |
| 20 | * The nfs_client identifies our client state to the server. | 21 | * The nfs_client identifies our client state to the server. |
| @@ -70,11 +71,7 @@ struct nfs_client { | |||
| 70 | */ | 71 | */ |
| 71 | char cl_ipaddr[48]; | 72 | char cl_ipaddr[48]; |
| 72 | unsigned char cl_id_uniquifier; | 73 | unsigned char cl_id_uniquifier; |
| 73 | int (* cl_call_sync)(struct nfs_server *server, | 74 | const struct nfs4_minor_version_ops *cl_mvops; |
| 74 | struct rpc_message *msg, | ||
| 75 | struct nfs4_sequence_args *args, | ||
| 76 | struct nfs4_sequence_res *res, | ||
| 77 | int cache_reply); | ||
| 78 | #endif /* CONFIG_NFS_V4 */ | 75 | #endif /* CONFIG_NFS_V4 */ |
| 79 | 76 | ||
| 80 | #ifdef CONFIG_NFS_V4_1 | 77 | #ifdef CONFIG_NFS_V4_1 |
diff --git a/include/linux/nfs_mount.h b/include/linux/nfs_mount.h index 4499016e6d0d..5d59ae861aa6 100644 --- a/include/linux/nfs_mount.h +++ b/include/linux/nfs_mount.h | |||
| @@ -69,5 +69,6 @@ struct nfs_mount_data { | |||
| 69 | #define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000 | 69 | #define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000 |
| 70 | #define NFS_MOUNT_LOOKUP_CACHE_NONE 0x20000 | 70 | #define NFS_MOUNT_LOOKUP_CACHE_NONE 0x20000 |
| 71 | #define NFS_MOUNT_NORESVPORT 0x40000 | 71 | #define NFS_MOUNT_NORESVPORT 0x40000 |
| 72 | #define NFS_MOUNT_LEGACY_INTERFACE 0x80000 | ||
| 72 | 73 | ||
| 73 | #endif | 74 | #endif |
diff --git a/include/linux/nfs_page.h b/include/linux/nfs_page.h index 3c60685d972b..f8b60e7f4c44 100644 --- a/include/linux/nfs_page.h +++ b/include/linux/nfs_page.h | |||
| @@ -39,6 +39,7 @@ struct nfs_page { | |||
| 39 | struct list_head wb_list; /* Defines state of page: */ | 39 | struct list_head wb_list; /* Defines state of page: */ |
| 40 | struct page *wb_page; /* page to read in/write out */ | 40 | struct page *wb_page; /* page to read in/write out */ |
| 41 | struct nfs_open_context *wb_context; /* File state context info */ | 41 | struct nfs_open_context *wb_context; /* File state context info */ |
| 42 | struct nfs_lock_context *wb_lock_context; /* lock context info */ | ||
| 42 | atomic_t wb_complete; /* i/os we're waiting for */ | 43 | atomic_t wb_complete; /* i/os we're waiting for */ |
| 43 | pgoff_t wb_index; /* Offset >> PAGE_CACHE_SHIFT */ | 44 | pgoff_t wb_index; /* Offset >> PAGE_CACHE_SHIFT */ |
| 44 | unsigned int wb_offset, /* Offset & ~PAGE_CACHE_MASK */ | 45 | unsigned int wb_offset, /* Offset & ~PAGE_CACHE_MASK */ |
diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index 51914d7d6cc4..fc461926c412 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h | |||
| @@ -196,8 +196,10 @@ struct nfs_openargs { | |||
| 196 | __u64 clientid; | 196 | __u64 clientid; |
| 197 | __u64 id; | 197 | __u64 id; |
| 198 | union { | 198 | union { |
| 199 | struct iattr * attrs; /* UNCHECKED, GUARDED */ | 199 | struct { |
| 200 | nfs4_verifier verifier; /* EXCLUSIVE */ | 200 | struct iattr * attrs; /* UNCHECKED, GUARDED */ |
| 201 | nfs4_verifier verifier; /* EXCLUSIVE */ | ||
| 202 | }; | ||
| 201 | nfs4_stateid delegation; /* CLAIM_DELEGATE_CUR */ | 203 | nfs4_stateid delegation; /* CLAIM_DELEGATE_CUR */ |
| 202 | fmode_t delegation_type; /* CLAIM_PREVIOUS */ | 204 | fmode_t delegation_type; /* CLAIM_PREVIOUS */ |
| 203 | } u; | 205 | } u; |
| @@ -313,6 +315,10 @@ struct nfs_lockt_res { | |||
| 313 | struct nfs4_sequence_res seq_res; | 315 | struct nfs4_sequence_res seq_res; |
| 314 | }; | 316 | }; |
| 315 | 317 | ||
| 318 | struct nfs_release_lockowner_args { | ||
| 319 | struct nfs_lowner lock_owner; | ||
| 320 | }; | ||
| 321 | |||
| 316 | struct nfs4_delegreturnargs { | 322 | struct nfs4_delegreturnargs { |
| 317 | const struct nfs_fh *fhandle; | 323 | const struct nfs_fh *fhandle; |
| 318 | const nfs4_stateid *stateid; | 324 | const nfs4_stateid *stateid; |
| @@ -332,6 +338,7 @@ struct nfs4_delegreturnres { | |||
| 332 | struct nfs_readargs { | 338 | struct nfs_readargs { |
| 333 | struct nfs_fh * fh; | 339 | struct nfs_fh * fh; |
| 334 | struct nfs_open_context *context; | 340 | struct nfs_open_context *context; |
| 341 | struct nfs_lock_context *lock_context; | ||
| 335 | __u64 offset; | 342 | __u64 offset; |
| 336 | __u32 count; | 343 | __u32 count; |
| 337 | unsigned int pgbase; | 344 | unsigned int pgbase; |
| @@ -352,6 +359,7 @@ struct nfs_readres { | |||
| 352 | struct nfs_writeargs { | 359 | struct nfs_writeargs { |
| 353 | struct nfs_fh * fh; | 360 | struct nfs_fh * fh; |
| 354 | struct nfs_open_context *context; | 361 | struct nfs_open_context *context; |
| 362 | struct nfs_lock_context *lock_context; | ||
| 355 | __u64 offset; | 363 | __u64 offset; |
| 356 | __u32 count; | 364 | __u32 count; |
| 357 | enum nfs3_stable_how stable; | 365 | enum nfs3_stable_how stable; |
diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h index 87d7ec0bf779..5bbc447175dc 100644 --- a/include/linux/sunrpc/auth.h +++ b/include/linux/sunrpc/auth.h | |||
| @@ -61,13 +61,7 @@ struct rpc_cred { | |||
| 61 | /* | 61 | /* |
| 62 | * Client authentication handle | 62 | * Client authentication handle |
| 63 | */ | 63 | */ |
| 64 | #define RPC_CREDCACHE_HASHBITS 4 | 64 | struct rpc_cred_cache; |
| 65 | #define RPC_CREDCACHE_NR (1 << RPC_CREDCACHE_HASHBITS) | ||
| 66 | struct rpc_cred_cache { | ||
| 67 | struct hlist_head hashtable[RPC_CREDCACHE_NR]; | ||
| 68 | spinlock_t lock; | ||
| 69 | }; | ||
| 70 | |||
| 71 | struct rpc_authops; | 65 | struct rpc_authops; |
| 72 | struct rpc_auth { | 66 | struct rpc_auth { |
| 73 | unsigned int au_cslack; /* call cred size estimate */ | 67 | unsigned int au_cslack; /* call cred size estimate */ |
| @@ -112,7 +106,7 @@ struct rpc_credops { | |||
| 112 | void (*crdestroy)(struct rpc_cred *); | 106 | void (*crdestroy)(struct rpc_cred *); |
| 113 | 107 | ||
| 114 | int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); | 108 | int (*crmatch)(struct auth_cred *, struct rpc_cred *, int); |
| 115 | void (*crbind)(struct rpc_task *, struct rpc_cred *, int); | 109 | struct rpc_cred * (*crbind)(struct rpc_task *, struct rpc_cred *, int); |
| 116 | __be32 * (*crmarshal)(struct rpc_task *, __be32 *); | 110 | __be32 * (*crmarshal)(struct rpc_task *, __be32 *); |
| 117 | int (*crrefresh)(struct rpc_task *); | 111 | int (*crrefresh)(struct rpc_task *); |
| 118 | __be32 * (*crvalidate)(struct rpc_task *, __be32 *); | 112 | __be32 * (*crvalidate)(struct rpc_task *, __be32 *); |
| @@ -125,11 +119,12 @@ struct rpc_credops { | |||
| 125 | extern const struct rpc_authops authunix_ops; | 119 | extern const struct rpc_authops authunix_ops; |
| 126 | extern const struct rpc_authops authnull_ops; | 120 | extern const struct rpc_authops authnull_ops; |
| 127 | 121 | ||
| 128 | void __init rpc_init_authunix(void); | 122 | int __init rpc_init_authunix(void); |
| 129 | void __init rpc_init_generic_auth(void); | 123 | int __init rpc_init_generic_auth(void); |
| 130 | void __init rpcauth_init_module(void); | 124 | int __init rpcauth_init_module(void); |
| 131 | void __exit rpcauth_remove_module(void); | 125 | void __exit rpcauth_remove_module(void); |
| 132 | void __exit rpc_destroy_generic_auth(void); | 126 | void __exit rpc_destroy_generic_auth(void); |
| 127 | void rpc_destroy_authunix(void); | ||
| 133 | 128 | ||
| 134 | struct rpc_cred * rpc_lookup_cred(void); | 129 | struct rpc_cred * rpc_lookup_cred(void); |
| 135 | struct rpc_cred * rpc_lookup_machine_cred(void); | 130 | struct rpc_cred * rpc_lookup_machine_cred(void); |
| @@ -140,10 +135,8 @@ void rpcauth_release(struct rpc_auth *); | |||
| 140 | struct rpc_cred * rpcauth_lookup_credcache(struct rpc_auth *, struct auth_cred *, int); | 135 | struct rpc_cred * rpcauth_lookup_credcache(struct rpc_auth *, struct auth_cred *, int); |
| 141 | void rpcauth_init_cred(struct rpc_cred *, const struct auth_cred *, struct rpc_auth *, const struct rpc_credops *); | 136 | void rpcauth_init_cred(struct rpc_cred *, const struct auth_cred *, struct rpc_auth *, const struct rpc_credops *); |
| 142 | struct rpc_cred * rpcauth_lookupcred(struct rpc_auth *, int); | 137 | struct rpc_cred * rpcauth_lookupcred(struct rpc_auth *, int); |
| 143 | void rpcauth_bindcred(struct rpc_task *, struct rpc_cred *, int); | 138 | struct rpc_cred * rpcauth_generic_bind_cred(struct rpc_task *, struct rpc_cred *, int); |
| 144 | void rpcauth_generic_bind_cred(struct rpc_task *, struct rpc_cred *, int); | ||
| 145 | void put_rpccred(struct rpc_cred *); | 139 | void put_rpccred(struct rpc_cred *); |
| 146 | void rpcauth_unbindcred(struct rpc_task *); | ||
| 147 | __be32 * rpcauth_marshcred(struct rpc_task *, __be32 *); | 140 | __be32 * rpcauth_marshcred(struct rpc_task *, __be32 *); |
| 148 | __be32 * rpcauth_checkverf(struct rpc_task *, __be32 *); | 141 | __be32 * rpcauth_checkverf(struct rpc_task *, __be32 *); |
| 149 | int rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, __be32 *data, void *obj); | 142 | int rpcauth_wrap_req(struct rpc_task *task, kxdrproc_t encode, void *rqstp, __be32 *data, void *obj); |
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index 8ed9642a5a76..569dc722a600 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
| @@ -131,6 +131,7 @@ struct rpc_clnt *rpc_bind_new_program(struct rpc_clnt *, | |||
| 131 | struct rpc_clnt *rpc_clone_client(struct rpc_clnt *); | 131 | struct rpc_clnt *rpc_clone_client(struct rpc_clnt *); |
| 132 | void rpc_shutdown_client(struct rpc_clnt *); | 132 | void rpc_shutdown_client(struct rpc_clnt *); |
| 133 | void rpc_release_client(struct rpc_clnt *); | 133 | void rpc_release_client(struct rpc_clnt *); |
| 134 | void rpc_task_release_client(struct rpc_task *); | ||
| 134 | 135 | ||
| 135 | int rpcb_register(u32, u32, int, unsigned short); | 136 | int rpcb_register(u32, u32, int, unsigned short); |
| 136 | int rpcb_v4_register(const u32 program, const u32 version, | 137 | int rpcb_v4_register(const u32 program, const u32 version, |
| @@ -148,8 +149,8 @@ int rpc_call_sync(struct rpc_clnt *clnt, | |||
| 148 | const struct rpc_message *msg, int flags); | 149 | const struct rpc_message *msg, int flags); |
| 149 | struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, | 150 | struct rpc_task *rpc_call_null(struct rpc_clnt *clnt, struct rpc_cred *cred, |
| 150 | int flags); | 151 | int flags); |
| 151 | void rpc_restart_call_prepare(struct rpc_task *); | 152 | int rpc_restart_call_prepare(struct rpc_task *); |
| 152 | void rpc_restart_call(struct rpc_task *); | 153 | int rpc_restart_call(struct rpc_task *); |
| 153 | void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int); | 154 | void rpc_setbufsize(struct rpc_clnt *, unsigned int, unsigned int); |
| 154 | size_t rpc_max_payload(struct rpc_clnt *); | 155 | size_t rpc_max_payload(struct rpc_clnt *); |
| 155 | void rpc_force_rebind(struct rpc_clnt *); | 156 | void rpc_force_rebind(struct rpc_clnt *); |
diff --git a/include/linux/sunrpc/sched.h b/include/linux/sunrpc/sched.h index 7be4f3a6d246..88513fd8e208 100644 --- a/include/linux/sunrpc/sched.h +++ b/include/linux/sunrpc/sched.h | |||
| @@ -213,6 +213,7 @@ struct rpc_task *rpc_run_bc_task(struct rpc_rqst *req, | |||
| 213 | const struct rpc_call_ops *ops); | 213 | const struct rpc_call_ops *ops); |
| 214 | void rpc_put_task(struct rpc_task *); | 214 | void rpc_put_task(struct rpc_task *); |
| 215 | void rpc_exit_task(struct rpc_task *); | 215 | void rpc_exit_task(struct rpc_task *); |
| 216 | void rpc_exit(struct rpc_task *, int); | ||
| 216 | void rpc_release_calldata(const struct rpc_call_ops *, void *); | 217 | void rpc_release_calldata(const struct rpc_call_ops *, void *); |
| 217 | void rpc_killall_tasks(struct rpc_clnt *); | 218 | void rpc_killall_tasks(struct rpc_clnt *); |
| 218 | void rpc_execute(struct rpc_task *); | 219 | void rpc_execute(struct rpc_task *); |
| @@ -241,12 +242,6 @@ void rpc_destroy_mempool(void); | |||
| 241 | extern struct workqueue_struct *rpciod_workqueue; | 242 | extern struct workqueue_struct *rpciod_workqueue; |
| 242 | void rpc_prepare_task(struct rpc_task *task); | 243 | void rpc_prepare_task(struct rpc_task *task); |
| 243 | 244 | ||
| 244 | static inline void rpc_exit(struct rpc_task *task, int status) | ||
| 245 | { | ||
| 246 | task->tk_status = status; | ||
| 247 | task->tk_action = rpc_exit_task; | ||
| 248 | } | ||
| 249 | |||
| 250 | static inline int rpc_wait_for_completion_task(struct rpc_task *task) | 245 | static inline int rpc_wait_for_completion_task(struct rpc_task *task) |
| 251 | { | 246 | { |
| 252 | return __rpc_wait_for_completion_task(task, NULL); | 247 | return __rpc_wait_for_completion_task(task, NULL); |
diff --git a/include/linux/sunrpc/xprt.h b/include/linux/sunrpc/xprt.h index b51470302399..ff5a77b28c50 100644 --- a/include/linux/sunrpc/xprt.h +++ b/include/linux/sunrpc/xprt.h | |||
| @@ -64,6 +64,7 @@ struct rpc_rqst { | |||
| 64 | * This is the private part | 64 | * This is the private part |
| 65 | */ | 65 | */ |
| 66 | struct rpc_task * rq_task; /* RPC task data */ | 66 | struct rpc_task * rq_task; /* RPC task data */ |
| 67 | struct rpc_cred * rq_cred; /* Bound cred */ | ||
| 67 | __be32 rq_xid; /* request XID */ | 68 | __be32 rq_xid; /* request XID */ |
| 68 | int rq_cong; /* has incremented xprt->cong */ | 69 | int rq_cong; /* has incremented xprt->cong */ |
| 69 | u32 rq_seqno; /* gss seq no. used on req. */ | 70 | u32 rq_seqno; /* gss seq no. used on req. */ |
