diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/nfsd/nfsd.h | 18 | ||||
| -rw-r--r-- | include/linux/nfsd/nfsfh.h | 42 | ||||
| -rw-r--r-- | include/linux/nfsd/xdr4.h | 4 | ||||
| -rw-r--r-- | include/linux/sunrpc/cache.h | 10 |
4 files changed, 16 insertions, 58 deletions
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index e452256d3f72..604a0d786bc6 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h | |||
| @@ -153,19 +153,21 @@ extern int nfsd_max_blksize; | |||
| 153 | */ | 153 | */ |
| 154 | #ifdef CONFIG_NFSD_V4 | 154 | #ifdef CONFIG_NFSD_V4 |
| 155 | extern unsigned int max_delegations; | 155 | extern unsigned int max_delegations; |
| 156 | void nfs4_state_init(void); | 156 | int nfs4_state_init(void); |
| 157 | int nfs4_state_start(void); | 157 | void nfsd4_free_slabs(void); |
| 158 | void nfs4_state_start(void); | ||
| 158 | void nfs4_state_shutdown(void); | 159 | void nfs4_state_shutdown(void); |
| 159 | time_t nfs4_lease_time(void); | 160 | time_t nfs4_lease_time(void); |
| 160 | void nfs4_reset_lease(time_t leasetime); | 161 | void nfs4_reset_lease(time_t leasetime); |
| 161 | int nfs4_reset_recoverydir(char *recdir); | 162 | int nfs4_reset_recoverydir(char *recdir); |
| 162 | #else | 163 | #else |
| 163 | static inline void nfs4_state_init(void){}; | 164 | static inline int nfs4_state_init(void) { return 0; } |
| 164 | static inline int nfs4_state_start(void){return 0;} | 165 | static inline void nfsd4_free_slabs(void) { } |
| 165 | static inline void nfs4_state_shutdown(void){} | 166 | static inline void nfs4_state_start(void) { } |
| 166 | static inline time_t nfs4_lease_time(void){return 0;} | 167 | static inline void nfs4_state_shutdown(void) { } |
| 167 | static inline void nfs4_reset_lease(time_t leasetime){} | 168 | static inline time_t nfs4_lease_time(void) { return 0; } |
| 168 | static inline int nfs4_reset_recoverydir(char *recdir) {return 0;} | 169 | static inline void nfs4_reset_lease(time_t leasetime) { } |
| 170 | static inline int nfs4_reset_recoverydir(char *recdir) { return 0; } | ||
| 169 | #endif | 171 | #endif |
| 170 | 172 | ||
| 171 | /* | 173 | /* |
diff --git a/include/linux/nfsd/nfsfh.h b/include/linux/nfsd/nfsfh.h index 11e568ee0eeb..d1941cb965e9 100644 --- a/include/linux/nfsd/nfsfh.h +++ b/include/linux/nfsd/nfsfh.h | |||
| @@ -150,17 +150,7 @@ typedef struct svc_fh { | |||
| 150 | struct timespec fh_pre_ctime; /* ctime before oper */ | 150 | struct timespec fh_pre_ctime; /* ctime before oper */ |
| 151 | 151 | ||
| 152 | /* Post-op attributes saved in fh_unlock */ | 152 | /* Post-op attributes saved in fh_unlock */ |
| 153 | umode_t fh_post_mode; /* i_mode */ | 153 | struct kstat fh_post_attr; /* full attrs after operation */ |
| 154 | nlink_t fh_post_nlink; /* i_nlink */ | ||
| 155 | uid_t fh_post_uid; /* i_uid */ | ||
| 156 | gid_t fh_post_gid; /* i_gid */ | ||
| 157 | __u64 fh_post_size; /* i_size */ | ||
| 158 | unsigned long fh_post_blocks; /* i_blocks */ | ||
| 159 | unsigned long fh_post_blksize;/* i_blksize */ | ||
| 160 | __be32 fh_post_rdev[2];/* i_rdev */ | ||
| 161 | struct timespec fh_post_atime; /* i_atime */ | ||
| 162 | struct timespec fh_post_mtime; /* i_mtime */ | ||
| 163 | struct timespec fh_post_ctime; /* i_ctime */ | ||
| 164 | #endif /* CONFIG_NFSD_V3 */ | 154 | #endif /* CONFIG_NFSD_V3 */ |
| 165 | 155 | ||
| 166 | } svc_fh; | 156 | } svc_fh; |
| @@ -297,36 +287,12 @@ fill_pre_wcc(struct svc_fh *fhp) | |||
| 297 | if (!fhp->fh_pre_saved) { | 287 | if (!fhp->fh_pre_saved) { |
| 298 | fhp->fh_pre_mtime = inode->i_mtime; | 288 | fhp->fh_pre_mtime = inode->i_mtime; |
| 299 | fhp->fh_pre_ctime = inode->i_ctime; | 289 | fhp->fh_pre_ctime = inode->i_ctime; |
| 300 | fhp->fh_pre_size = inode->i_size; | 290 | fhp->fh_pre_size = inode->i_size; |
| 301 | fhp->fh_pre_saved = 1; | 291 | fhp->fh_pre_saved = 1; |
| 302 | } | 292 | } |
| 303 | } | 293 | } |
| 304 | 294 | ||
| 305 | /* | 295 | extern void fill_post_wcc(struct svc_fh *); |
| 306 | * Fill in the post_op attr for the wcc data | ||
| 307 | */ | ||
| 308 | static inline void | ||
| 309 | fill_post_wcc(struct svc_fh *fhp) | ||
| 310 | { | ||
| 311 | struct inode *inode = fhp->fh_dentry->d_inode; | ||
| 312 | |||
| 313 | if (fhp->fh_post_saved) | ||
| 314 | printk("nfsd: inode locked twice during operation.\n"); | ||
| 315 | |||
| 316 | fhp->fh_post_mode = inode->i_mode; | ||
| 317 | fhp->fh_post_nlink = inode->i_nlink; | ||
| 318 | fhp->fh_post_uid = inode->i_uid; | ||
| 319 | fhp->fh_post_gid = inode->i_gid; | ||
| 320 | fhp->fh_post_size = inode->i_size; | ||
| 321 | fhp->fh_post_blksize = BLOCK_SIZE; | ||
| 322 | fhp->fh_post_blocks = inode->i_blocks; | ||
| 323 | fhp->fh_post_rdev[0] = htonl((u32)imajor(inode)); | ||
| 324 | fhp->fh_post_rdev[1] = htonl((u32)iminor(inode)); | ||
| 325 | fhp->fh_post_atime = inode->i_atime; | ||
| 326 | fhp->fh_post_mtime = inode->i_mtime; | ||
| 327 | fhp->fh_post_ctime = inode->i_ctime; | ||
| 328 | fhp->fh_post_saved = 1; | ||
| 329 | } | ||
| 330 | #else | 296 | #else |
| 331 | #define fill_pre_wcc(ignored) | 297 | #define fill_pre_wcc(ignored) |
| 332 | #define fill_post_wcc(notused) | 298 | #define fill_post_wcc(notused) |
diff --git a/include/linux/nfsd/xdr4.h b/include/linux/nfsd/xdr4.h index 1b653267133a..b0ddfb41c790 100644 --- a/include/linux/nfsd/xdr4.h +++ b/include/linux/nfsd/xdr4.h | |||
| @@ -428,8 +428,8 @@ set_change_info(struct nfsd4_change_info *cinfo, struct svc_fh *fhp) | |||
| 428 | cinfo->atomic = 1; | 428 | cinfo->atomic = 1; |
| 429 | cinfo->before_ctime_sec = fhp->fh_pre_ctime.tv_sec; | 429 | cinfo->before_ctime_sec = fhp->fh_pre_ctime.tv_sec; |
| 430 | cinfo->before_ctime_nsec = fhp->fh_pre_ctime.tv_nsec; | 430 | cinfo->before_ctime_nsec = fhp->fh_pre_ctime.tv_nsec; |
| 431 | cinfo->after_ctime_sec = fhp->fh_post_ctime.tv_sec; | 431 | cinfo->after_ctime_sec = fhp->fh_post_attr.ctime.tv_sec; |
| 432 | cinfo->after_ctime_nsec = fhp->fh_post_ctime.tv_nsec; | 432 | cinfo->after_ctime_nsec = fhp->fh_post_attr.ctime.tv_nsec; |
| 433 | } | 433 | } |
| 434 | 434 | ||
| 435 | int nfs4svc_encode_voidres(struct svc_rqst *, __be32 *, void *); | 435 | int nfs4svc_encode_voidres(struct svc_rqst *, __be32 *, void *); |
diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h index 3699dff7db8f..bd7a6b0a87af 100644 --- a/include/linux/sunrpc/cache.h +++ b/include/linux/sunrpc/cache.h | |||
| @@ -136,16 +136,6 @@ sunrpc_cache_update(struct cache_detail *detail, | |||
| 136 | struct cache_head *new, struct cache_head *old, int hash); | 136 | struct cache_head *new, struct cache_head *old, int hash); |
| 137 | 137 | ||
| 138 | 138 | ||
| 139 | #define cache_for_each(pos, detail, index, member) \ | ||
| 140 | for (({read_lock(&(detail)->hash_lock); index = (detail)->hash_size;}) ; \ | ||
| 141 | ({if (index==0)read_unlock(&(detail)->hash_lock); index--;}); \ | ||
| 142 | ) \ | ||
| 143 | for (pos = container_of((detail)->hash_table[index], typeof(*pos), member); \ | ||
| 144 | &pos->member; \ | ||
| 145 | pos = container_of(pos->member.next, typeof(*pos), member)) | ||
| 146 | |||
| 147 | |||
| 148 | |||
| 149 | extern void cache_clean_deferred(void *owner); | 139 | extern void cache_clean_deferred(void *owner); |
| 150 | 140 | ||
| 151 | static inline struct cache_head *cache_get(struct cache_head *h) | 141 | static inline struct cache_head *cache_get(struct cache_head *h) |
