diff options
Diffstat (limited to 'include/linux/nfsd')
-rw-r--r-- | include/linux/nfsd/nfsd.h | 2 | ||||
-rw-r--r-- | include/linux/nfsd/state.h | 9 |
2 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 5791dfd30dd0..6d5a24f3fc6d 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h | |||
@@ -124,6 +124,7 @@ int nfsd_statfs(struct svc_rqst *, struct svc_fh *, | |||
124 | 124 | ||
125 | int nfsd_notify_change(struct inode *, struct iattr *); | 125 | int nfsd_notify_change(struct inode *, struct iattr *); |
126 | int nfsd_permission(struct svc_export *, struct dentry *, int); | 126 | int nfsd_permission(struct svc_export *, struct dentry *, int); |
127 | void nfsd_sync_dir(struct dentry *dp); | ||
127 | 128 | ||
128 | #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) | 129 | #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) |
129 | #ifdef CONFIG_NFSD_V2_ACL | 130 | #ifdef CONFIG_NFSD_V2_ACL |
@@ -230,6 +231,7 @@ void nfsd_lockd_shutdown(void); | |||
230 | #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) | 231 | #define nfserr_reclaim_bad __constant_htonl(NFSERR_RECLAIM_BAD) |
231 | #define nfserr_badname __constant_htonl(NFSERR_BADNAME) | 232 | #define nfserr_badname __constant_htonl(NFSERR_BADNAME) |
232 | #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) | 233 | #define nfserr_cb_path_down __constant_htonl(NFSERR_CB_PATH_DOWN) |
234 | #define nfserr_locked __constant_htonl(NFSERR_LOCKED) | ||
233 | 235 | ||
234 | /* error codes for internal use */ | 236 | /* error codes for internal use */ |
235 | /* if a request fails due to kmalloc failure, it gets dropped. | 237 | /* if a request fails due to kmalloc failure, it gets dropped. |
diff --git a/include/linux/nfsd/state.h b/include/linux/nfsd/state.h index a84a3fa99be1..8bf23cf8b603 100644 --- a/include/linux/nfsd/state.h +++ b/include/linux/nfsd/state.h | |||
@@ -203,7 +203,9 @@ struct nfs4_stateowner { | |||
203 | int so_is_open_owner; /* 1=openowner,0=lockowner */ | 203 | int so_is_open_owner; /* 1=openowner,0=lockowner */ |
204 | u32 so_id; | 204 | u32 so_id; |
205 | struct nfs4_client * so_client; | 205 | struct nfs4_client * so_client; |
206 | u32 so_seqid; | 206 | /* after increment in ENCODE_SEQID_OP_TAIL, represents the next |
207 | * sequence id expected from the client: */ | ||
208 | u32 so_seqid; | ||
207 | struct xdr_netobj so_owner; /* open owner name */ | 209 | struct xdr_netobj so_owner; /* open owner name */ |
208 | int so_confirmed; /* successful OPEN_CONFIRM? */ | 210 | int so_confirmed; /* successful OPEN_CONFIRM? */ |
209 | struct nfs4_replay so_replay; | 211 | struct nfs4_replay so_replay; |
@@ -235,6 +237,10 @@ struct nfs4_file { | |||
235 | * st_perlockowner: (open stateid) list of lock nfs4_stateowners | 237 | * st_perlockowner: (open stateid) list of lock nfs4_stateowners |
236 | * st_access_bmap: used only for open stateid | 238 | * st_access_bmap: used only for open stateid |
237 | * st_deny_bmap: used only for open stateid | 239 | * st_deny_bmap: used only for open stateid |
240 | * st_openstp: open stateid lock stateid was derived from | ||
241 | * | ||
242 | * XXX: open stateids and lock stateids have diverged sufficiently that | ||
243 | * we should consider defining separate structs for the two cases. | ||
238 | */ | 244 | */ |
239 | 245 | ||
240 | struct nfs4_stateid { | 246 | struct nfs4_stateid { |
@@ -248,6 +254,7 @@ struct nfs4_stateid { | |||
248 | struct file * st_vfs_file; | 254 | struct file * st_vfs_file; |
249 | unsigned long st_access_bmap; | 255 | unsigned long st_access_bmap; |
250 | unsigned long st_deny_bmap; | 256 | unsigned long st_deny_bmap; |
257 | struct nfs4_stateid * st_openstp; | ||
251 | }; | 258 | }; |
252 | 259 | ||
253 | /* flags for preprocess_seqid_op() */ | 260 | /* flags for preprocess_seqid_op() */ |