On Mon 26-02-18 20:20:48, Dan Williams wrote:
In preparation for fixing the broken definition of S_DAX in the CONFIG_FS_DAX=n + CONFIG_DEV_DAX=y case, convert all the remaining IS_DAX() usages to use explicit tests for FSDAX.
Cc: Jan Kara jack@suse.com Cc: Matthew Wilcox mawilcox@microsoft.com Cc: Ross Zwisler ross.zwisler@linux.intel.com Cc: stable@vger.kernel.org Fixes: dee410792419 ("/dev/dax, core: file operations and dax-mmap") Signed-off-by: Dan Williams dan.j.williams@intel.com
Looks good. You can add:
Reviewed-by: Jan Kara jack@suse.cz
Honza
fs/iomap.c | 2 +- include/linux/dax.h | 2 +- include/linux/fs.h | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/fs/iomap.c b/fs/iomap.c index afd163586aa0..fe379d8949fd 100644 --- a/fs/iomap.c +++ b/fs/iomap.c @@ -377,7 +377,7 @@ iomap_zero_range_actor(struct inode *inode, loff_t pos, loff_t count, offset = pos & (PAGE_SIZE - 1); /* Within page */ bytes = min_t(loff_t, PAGE_SIZE - offset, count);
if (IS_DAX(inode))
else status = iomap_zero(inode, pos, offset, bytes, iomap);if (IS_FSDAX(inode)) status = iomap_dax_zero(pos, offset, bytes, iomap);
diff --git a/include/linux/dax.h b/include/linux/dax.h index 47edbce4fc52..ce520e932adc 100644 --- a/include/linux/dax.h +++ b/include/linux/dax.h @@ -124,7 +124,7 @@ static inline ssize_t dax_iomap_rw(struct kiocb *iocb, struct iov_iter *iter, static inline bool dax_mapping(struct address_space *mapping) {
- return mapping->host && IS_DAX(mapping->host);
- return mapping->host && IS_FSDAX(mapping->host);
} struct writeback_control; diff --git a/include/linux/fs.h b/include/linux/fs.h index 4a5aa8761011..8021f10068d3 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1903,7 +1903,6 @@ static inline bool sb_rdonly(const struct super_block *sb) { return sb->s_flags #define IS_IMA(inode) ((inode)->i_flags & S_IMA) #define IS_AUTOMOUNT(inode) ((inode)->i_flags & S_AUTOMOUNT) #define IS_NOSEC(inode) ((inode)->i_flags & S_NOSEC) -#define IS_DAX(inode) ((inode)->i_flags & S_DAX) #define IS_ENCRYPTED(inode) ((inode)->i_flags & S_ENCRYPTED) #define IS_WHITEOUT(inode) (S_ISCHR(inode->i_mode) && \ @@ -3203,7 +3202,7 @@ extern int file_update_time(struct file *file); static inline bool io_is_direct(struct file *filp) {
- return (filp->f_flags & O_DIRECT) || IS_DAX(filp->f_mapping->host);
- return (filp->f_flags & O_DIRECT) || IS_FSDAX(filp->f_mapping->host);
} static inline bool vma_is_dax(struct vm_area_struct *vma)