On Tue 26-01-16 07:54:56, Matthew Wilcox wrote: > On Tue, Jan 26, 2016 at 03:42:34AM +0000, Williams, Dan J wrote: > > @@ -2907,7 +2912,12 @@ extern void replace_mount_options(struct super_block *sb, char *options); > > > > static inline bool io_is_direct(struct file *filp) > > { > > - return (filp->f_flags & O_DIRECT) || IS_DAX(file_inode(filp)); > > I think this should just be a one-liner: > > - return (filp->f_flags & O_DIRECT) || IS_DAX(file_inode(filp)); > + return (filp->f_flags & O_DIRECT) || IS_DAX(filp->f_mapping->host); > > This does the right thing for block device inodes and filesystem inodes. > (see the opening stanzas of __dax_fault for an example). Ah, right. This looks indeed better. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>