diff options
Diffstat (limited to 'include/linux/nfs_fs.h')
| -rw-r--r-- | include/linux/nfs_fs.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index c71227dd4389..0a1740b2532e 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h | |||
| @@ -16,8 +16,6 @@ | |||
| 16 | #include <linux/rwsem.h> | 16 | #include <linux/rwsem.h> |
| 17 | #include <linux/wait.h> | 17 | #include <linux/wait.h> |
| 18 | 18 | ||
| 19 | #include <linux/nfs_fs_sb.h> | ||
| 20 | |||
| 21 | #include <linux/sunrpc/debug.h> | 19 | #include <linux/sunrpc/debug.h> |
| 22 | #include <linux/sunrpc/auth.h> | 20 | #include <linux/sunrpc/auth.h> |
| 23 | #include <linux/sunrpc/clnt.h> | 21 | #include <linux/sunrpc/clnt.h> |
| @@ -27,6 +25,9 @@ | |||
| 27 | #include <linux/nfs3.h> | 25 | #include <linux/nfs3.h> |
| 28 | #include <linux/nfs4.h> | 26 | #include <linux/nfs4.h> |
| 29 | #include <linux/nfs_xdr.h> | 27 | #include <linux/nfs_xdr.h> |
| 28 | |||
| 29 | #include <linux/nfs_fs_sb.h> | ||
| 30 | |||
| 30 | #include <linux/rwsem.h> | 31 | #include <linux/rwsem.h> |
| 31 | #include <linux/mempool.h> | 32 | #include <linux/mempool.h> |
| 32 | 33 | ||
| @@ -61,6 +62,7 @@ | |||
| 61 | #define FLUSH_LOWPRI 8 /* low priority background flush */ | 62 | #define FLUSH_LOWPRI 8 /* low priority background flush */ |
| 62 | #define FLUSH_HIGHPRI 16 /* high priority memory reclaim flush */ | 63 | #define FLUSH_HIGHPRI 16 /* high priority memory reclaim flush */ |
| 63 | #define FLUSH_NOCOMMIT 32 /* Don't send the NFSv3/v4 COMMIT */ | 64 | #define FLUSH_NOCOMMIT 32 /* Don't send the NFSv3/v4 COMMIT */ |
| 65 | #define FLUSH_INVALIDATE 64 /* Invalidate the page cache */ | ||
| 64 | 66 | ||
| 65 | #ifdef __KERNEL__ | 67 | #ifdef __KERNEL__ |
| 66 | 68 | ||
| @@ -234,8 +236,12 @@ static inline int nfs_caches_unstable(struct inode *inode) | |||
| 234 | 236 | ||
| 235 | static inline void nfs_mark_for_revalidate(struct inode *inode) | 237 | static inline void nfs_mark_for_revalidate(struct inode *inode) |
| 236 | { | 238 | { |
| 239 | struct nfs_inode *nfsi = NFS_I(inode); | ||
| 240 | |||
| 237 | spin_lock(&inode->i_lock); | 241 | spin_lock(&inode->i_lock); |
| 238 | NFS_I(inode)->cache_validity |= NFS_INO_INVALID_ATTR | NFS_INO_INVALID_ACCESS; | 242 | nfsi->cache_validity |= NFS_INO_INVALID_ATTR|NFS_INO_INVALID_ACCESS; |
| 243 | if (S_ISDIR(inode->i_mode)) | ||
| 244 | nfsi->cache_validity |= NFS_INO_REVAL_PAGECACHE|NFS_INO_INVALID_DATA; | ||
| 239 | spin_unlock(&inode->i_lock); | 245 | spin_unlock(&inode->i_lock); |
| 240 | } | 246 | } |
| 241 | 247 | ||
| @@ -297,7 +303,7 @@ extern int nfs_release(struct inode *, struct file *); | |||
| 297 | extern int nfs_attribute_timeout(struct inode *inode); | 303 | extern int nfs_attribute_timeout(struct inode *inode); |
| 298 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); | 304 | extern int nfs_revalidate_inode(struct nfs_server *server, struct inode *inode); |
| 299 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); | 305 | extern int __nfs_revalidate_inode(struct nfs_server *, struct inode *); |
| 300 | extern void nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); | 306 | extern int nfs_revalidate_mapping(struct inode *inode, struct address_space *mapping); |
| 301 | extern int nfs_setattr(struct dentry *, struct iattr *); | 307 | extern int nfs_setattr(struct dentry *, struct iattr *); |
| 302 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); | 308 | extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr); |
| 303 | extern void nfs_begin_attr_update(struct inode *); | 309 | extern void nfs_begin_attr_update(struct inode *); |
| @@ -307,6 +313,10 @@ extern void nfs_end_data_update(struct inode *); | |||
| 307 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); | 313 | extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx); |
| 308 | extern void put_nfs_open_context(struct nfs_open_context *ctx); | 314 | extern void put_nfs_open_context(struct nfs_open_context *ctx); |
| 309 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, int mode); | 315 | extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, int mode); |
| 316 | extern struct vfsmount *nfs_do_submount(const struct vfsmount *mnt_parent, | ||
| 317 | const struct dentry *dentry, | ||
| 318 | struct nfs_fh *fh, | ||
| 319 | struct nfs_fattr *fattr); | ||
| 310 | 320 | ||
| 311 | /* linux/net/ipv4/ipconfig.c: trims ip addr off front of name, too. */ | 321 | /* linux/net/ipv4/ipconfig.c: trims ip addr off front of name, too. */ |
| 312 | extern u32 root_nfs_parse_addr(char *name); /*__init*/ | 322 | extern u32 root_nfs_parse_addr(char *name); /*__init*/ |
| @@ -393,6 +403,15 @@ extern void nfs_unregister_sysctl(void); | |||
| 393 | #endif | 403 | #endif |
| 394 | 404 | ||
| 395 | /* | 405 | /* |
| 406 | * linux/fs/nfs/namespace.c | ||
| 407 | */ | ||
| 408 | extern struct list_head nfs_automount_list; | ||
| 409 | extern struct inode_operations nfs_mountpoint_inode_operations; | ||
| 410 | extern struct inode_operations nfs_referral_inode_operations; | ||
| 411 | extern int nfs_mountpoint_expiry_timeout; | ||
| 412 | extern void nfs_release_automount_timer(void); | ||
| 413 | |||
| 414 | /* | ||
| 396 | * linux/fs/nfs/unlink.c | 415 | * linux/fs/nfs/unlink.c |
| 397 | */ | 416 | */ |
| 398 | extern int nfs_async_unlink(struct dentry *); | 417 | extern int nfs_async_unlink(struct dentry *); |
