diff options
Diffstat (limited to 'include/linux/nfs_fs.h')
| -rw-r--r-- | include/linux/nfs_fs.h | 62 | 
1 files changed, 18 insertions, 44 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 3ea4cde8701..e30f6059ecd 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -92,6 +92,7 @@ struct nfs_open_context {  };  struct nfs_open_dir_context { +	struct list_head list;  	struct rpc_cred *cred;  	unsigned long attr_gencount;  	__u64 dir_cookie; @@ -154,10 +155,6 @@ struct nfs_inode {  	struct rb_root		access_cache;  	struct list_head	access_cache_entry_lru;  	struct list_head	access_cache_inode_lru; -#ifdef CONFIG_NFS_V3_ACL -	struct posix_acl	*acl_access; -	struct posix_acl	*acl_default; -#endif  	/*  	 * This is the cookie verifier used for NFSv3 readdir @@ -215,6 +212,7 @@ struct nfs_inode {  #define NFS_INO_ADVISE_RDPLUS	(0)		/* advise readdirplus */  #define NFS_INO_STALE		(1)		/* possible stale inode */  #define NFS_INO_ACL_LRU_SET	(2)		/* Inode is on the LRU list */ +#define NFS_INO_INVALIDATING	(3)		/* inode is being invalidated */  #define NFS_INO_FLUSHING	(4)		/* inode is flushing out data */  #define NFS_INO_FSCACHE		(5)		/* inode can be cached by FS-Cache */  #define NFS_INO_FSCACHE_LOCK	(6)		/* FS-Cache cookie management lock */ @@ -269,9 +267,13 @@ static inline int NFS_STALE(const struct inode *inode)  	return test_bit(NFS_INO_STALE, &NFS_I(inode)->flags);  } -static inline int NFS_FSCACHE(const struct inode *inode) +static inline struct fscache_cookie *nfs_i_fscache(struct inode *inode)  { -	return test_bit(NFS_INO_FSCACHE, &NFS_I(inode)->flags); +#ifdef CONFIG_NFS_FSCACHE +	return NFS_I(inode)->fscache; +#else +	return NULL; +#endif  }  static inline __u64 NFS_FILEID(const struct inode *inode) @@ -457,13 +459,12 @@ extern int nfs3_removexattr (struct dentry *, const char *name);  /*   * linux/fs/nfs/direct.c   */ -extern ssize_t nfs_direct_IO(int, struct kiocb *, const struct iovec *, loff_t, -			unsigned long); +extern ssize_t nfs_direct_IO(int, struct kiocb *, struct iov_iter *, loff_t);  extern ssize_t nfs_file_direct_read(struct kiocb *iocb, -			const struct iovec *iov, unsigned long nr_segs, +			struct iov_iter *iter,  			loff_t pos, bool uio);  extern ssize_t nfs_file_direct_write(struct kiocb *iocb, -			const struct iovec *iov, unsigned long nr_segs, +			struct iov_iter *iter,  			loff_t pos, bool uio);  /* @@ -503,31 +504,12 @@ extern int nfs_mountpoint_expiry_timeout;  extern void nfs_release_automount_timer(void);  /* - * linux/fs/nfs/nfs4proc.c - */ -#ifdef CONFIG_NFS_V4_SECURITY_LABEL -extern struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags); -static inline void nfs4_label_free(struct nfs4_label *label) -{ -	if (label) { -		kfree(label->label); -		kfree(label); -	} -	return; -} -#else -static inline struct nfs4_label *nfs4_label_alloc(struct nfs_server *server, gfp_t flags) { return NULL; } -static inline void nfs4_label_free(void *label) {} -#endif - -/*   * linux/fs/nfs/unlink.c   */  extern void nfs_complete_unlink(struct dentry *dentry, struct inode *);  extern void nfs_wait_on_sillyrename(struct dentry *dentry);  extern void nfs_block_sillyrename(struct dentry *dentry);  extern void nfs_unblock_sillyrename(struct dentry *dentry); -extern int  nfs_sillyrename(struct inode *dir, struct dentry *dentry);  /*   * linux/fs/nfs/write.c @@ -537,7 +519,6 @@ extern int  nfs_writepage(struct page *page, struct writeback_control *wbc);  extern int  nfs_writepages(struct address_space *, struct writeback_control *);  extern int  nfs_flush_incompatible(struct file *file, struct page *page);  extern int  nfs_updatepage(struct file *, struct page *, unsigned int, unsigned int); -extern void nfs_writeback_done(struct rpc_task *, struct nfs_write_data *);  /*   * Try to write back everything synchronously (but check the @@ -570,7 +551,6 @@ nfs_have_writebacks(struct inode *inode)  extern int  nfs_readpage(struct file *, struct page *);  extern int  nfs_readpages(struct file *, struct address_space *,  		struct list_head *, unsigned); -extern int  nfs_readpage_result(struct rpc_task *, struct nfs_read_data *);  extern int  nfs_readpage_async(struct nfs_open_context *, struct inode *,  			       struct page *); @@ -578,23 +558,17 @@ extern int  nfs_readpage_async(struct nfs_open_context *, struct inode *,   * linux/fs/nfs3proc.c   */  #ifdef CONFIG_NFS_V3_ACL -extern struct posix_acl *nfs3_proc_getacl(struct inode *inode, int type); -extern int nfs3_proc_setacl(struct inode *inode, int type, -			    struct posix_acl *acl); -extern int nfs3_proc_set_default_acl(struct inode *dir, struct inode *inode, -		umode_t mode); -extern void nfs3_forget_cached_acls(struct inode *inode); +extern struct posix_acl *nfs3_get_acl(struct inode *inode, int type); +extern int nfs3_set_acl(struct inode *inode, struct posix_acl *acl, int type); +extern int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl, +		struct posix_acl *dfacl); +extern const struct xattr_handler *nfs3_xattr_handlers[];  #else -static inline int nfs3_proc_set_default_acl(struct inode *dir, -					    struct inode *inode, -					    umode_t mode) +static inline int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl, +		struct posix_acl *dfacl)  {  	return 0;  } - -static inline void nfs3_forget_cached_acls(struct inode *inode) -{ -}  #endif /* CONFIG_NFS_V3_ACL */  /*  | 
