diff options
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index fc01d5cb4cf1..7125cef74164 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
@@ -207,6 +207,7 @@ struct nfs_inode { | |||
207 | #define NFS_INO_INVALID_ACL 0x0010 /* cached acls are invalid */ | 207 | #define NFS_INO_INVALID_ACL 0x0010 /* cached acls are invalid */ |
208 | #define NFS_INO_REVAL_PAGECACHE 0x0020 /* must revalidate pagecache */ | 208 | #define NFS_INO_REVAL_PAGECACHE 0x0020 /* must revalidate pagecache */ |
209 | #define NFS_INO_REVAL_FORCED 0x0040 /* force revalidation ignoring a delegation */ | 209 | #define NFS_INO_REVAL_FORCED 0x0040 /* force revalidation ignoring a delegation */ |
210 | #define NFS_INO_INVALID_LABEL 0x0080 /* cached label is invalid */ | ||
210 | 211 | ||
211 | /* | 212 | /* |
212 | * Bit offsets in flags field | 213 | * Bit offsets in flags field |
@@ -336,7 +337,7 @@ extern void nfs_zap_mapping(struct inode *inode, struct address_space *mapping); | |||
336 | extern void nfs_zap_caches(struct inode *); | 337 | extern void nfs_zap_caches(struct inode *); |
337 | extern void nfs_invalidate_atime(struct inode *); | 338 | extern void nfs_invalidate_atime(struct inode *); |
338 | extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, | 339 | extern struct inode *nfs_fhget(struct super_block *, struct nfs_fh *, |
339 | struct nfs_fattr *); | 340 | struct nfs_fattr *, struct nfs4_label *); |
340 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); | 341 | extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *); |
341 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); | 342 | extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr); |
342 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); | 343 | extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr); |
@@ -347,15 +348,19 @@ extern int nfs_permission(struct inode *, int); | |||
347 | extern int nfs_open(struct inode *, struct file *); | 348 | extern int nfs_open(struct inode *, struct file *); |
348 | extern int nfs_release(struct inode *, struct file *); | 349 | extern int nfs_release(struct inode *, struct file *); |
349 | extern int nfs_attribute_timeout(struct inode *inode); | 350 | extern int nfs_attribute_timeout(struct inode *inode); |
351 | extern int nfs_attribute_cache_expired(struct inode *inode); | ||
350 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); | 352 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); |
351 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); | 353 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); |
352 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); | 354 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); |
353 | extern int nfs_setattr(struct dentry *, struct iattr *); | 355 | extern int nfs_setattr(struct dentry *, struct iattr *); |
354 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | 356 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); |
357 | extern void nfs_setsecurity(struct inode *inode, struct nfs_fattr *fattr, | ||
358 | struct nfs4_label *label); | ||
355 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 359 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
356 | extern void put_nfs_open_context(struct nfs_open_context *ctx); | 360 | extern void put_nfs_open_context(struct nfs_open_context *ctx); |
357 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); | 361 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode); |
358 | extern struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, fmode_t f_mode); | 362 | extern struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, fmode_t f_mode); |
363 | extern void nfs_inode_attach_open_context(struct nfs_open_context *ctx); | ||
359 | extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx); | 364 | extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx); |
360 | extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx); | 365 | extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx); |
361 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); | 366 | extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx); |
@@ -468,7 +473,8 @@ extern const struct file_operations nfs_dir_operations; | |||
468 | extern const struct dentry_operations nfs_dentry_operations; | 473 | extern const struct dentry_operations nfs_dentry_operations; |
469 | 474 | ||
470 | extern void nfs_force_lookup_revalidate(struct inode *dir); | 475 | extern void nfs_force_lookup_revalidate(struct inode *dir); |
471 | extern int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fh, struct nfs_fattr *fattr); | 476 | extern int nfs_instantiate(struct dentry *dentry, struct nfs_fh *fh, |
477 | struct nfs_fattr *fattr, struct nfs4_label *label); | ||
472 | extern int nfs_may_open(struct inode *inode, struct rpc_cred *cred, int openflags); | 478 | extern int nfs_may_open(struct inode *inode, struct rpc_cred *cred, int openflags); |
473 | extern void nfs_access_zap_cache(struct inode *inode); | 479 | extern void nfs_access_zap_cache(struct inode *inode); |
474 | 480 | ||
@@ -497,6 +503,24 @@ extern int nfs_mountpoint_expiry_timeout; | |||
497 | extern void nfs_release_automount_timer(void); | 503 | extern void nfs_release_automount_timer(void); |
498 | 504 | ||
499 | /* | 505 | /* |
506 | * linux/fs/nfs/nfs4proc.c | ||
507 | */ | ||
508 | #ifdef CONFIG_NFS_V4_SECURITY_LABEL | ||
509 | extern struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags); | ||
510 | static inline void nfs4_label_free(struct nfs4_label *label) | ||
511 | { | ||
512 | if (label) { | ||
513 | kfree(label->label); | ||
514 | kfree(label); | ||
515 | } | ||
516 | return; | ||
517 | } | ||
518 | #else | ||
519 | static inline struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags) { return NULL; } | ||
520 | static inline void nfs4_label_free(void *label) {} | ||
521 | #endif | ||
522 | |||
523 | /* | ||
500 | * linux/fs/nfs/unlink.c | 524 | * linux/fs/nfs/unlink.c |
501 | */ | 525 | */ |
502 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); | 526 | extern void nfs_complete_unlink(struct dentry *dentry, struct inode *); |