summaryrefslogtreecommitdiffstats
path: root/include/linux/fs.h
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2018-03-07 18:26:44 -0500
committerDan Williams <dan.j.williams@intel.com>2018-03-30 14:34:55 -0400
commitf44c77630d26ca2c2a60b20c47dd9ce07c4361b3 (patch)
treeec06b086dc96720330ede25f4cd74909f0e8bde1 /include/linux/fs.h
parent3fe0791c295cfd3cd735de7a32cc0780949c009f (diff)
fs, dax: prepare for dax-specific address_space_operations
In preparation for the dax implementation to start associating dax pages to inodes via page->mapping, we need to provide a 'struct address_space_operations' instance for dax. Define some generic VFS aops helpers for dax. These noop implementations are there in the dax case to prevent the VFS from falling back to operations with page-cache assumptions, dax_writeback_mapping_range() may not be referenced in the FS_DAX=n case. Cc: Jeff Moyer <jmoyer@redhat.com> Cc: Ross Zwisler <ross.zwisler@linux.intel.com> Suggested-by: Matthew Wilcox <mawilcox@microsoft.com> Suggested-by: Jan Kara <jack@suse.cz> Suggested-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jan Kara <jack@suse.cz> Suggested-by: Dave Chinner <david@fromorbit.com> Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'include/linux/fs.h')
-rw-r--r--include/linux/fs.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 79c413985305..44f7f7080faa 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -3129,6 +3129,10 @@ extern int simple_rmdir(struct inode *, struct dentry *);
3129extern int simple_rename(struct inode *, struct dentry *, 3129extern int simple_rename(struct inode *, struct dentry *,
3130 struct inode *, struct dentry *, unsigned int); 3130 struct inode *, struct dentry *, unsigned int);
3131extern int noop_fsync(struct file *, loff_t, loff_t, int); 3131extern int noop_fsync(struct file *, loff_t, loff_t, int);
3132extern int noop_set_page_dirty(struct page *page);
3133extern void noop_invalidatepage(struct page *page, unsigned int offset,
3134 unsigned int length);
3135extern ssize_t noop_direct_IO(struct kiocb *iocb, struct iov_iter *iter);
3132extern int simple_empty(struct dentry *); 3136extern int simple_empty(struct dentry *);
3133extern int simple_readpage(struct file *file, struct page *page); 3137extern int simple_readpage(struct file *file, struct page *page);
3134extern int simple_write_begin(struct file *file, struct address_space *mapping, 3138extern int simple_write_begin(struct file *file, struct address_space *mapping,