Currently UBIFS does not support direct IO, but some applications blindly use the O_DIRECT flag. Instead of failing upon open() we can do better and fall back to buffered IO. Cc: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Cc: dedekind1@xxxxxxxxx Suggested-by: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> --- fs/ubifs/file.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index a3dfe2a..a61fe86 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -1540,6 +1540,15 @@ static int ubifs_file_mmap(struct file *file, struct vm_area_struct *vma) return 0; } +/* + * For now fall back to buffered IO. + */ +static ssize_t ubifs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, + loff_t offset) +{ + return 0; +} + const struct address_space_operations ubifs_file_address_operations = { .readpage = ubifs_readpage, .writepage = ubifs_writepage, @@ -1548,6 +1557,7 @@ const struct address_space_operations ubifs_file_address_operations = { .invalidatepage = ubifs_invalidatepage, .set_page_dirty = ubifs_set_page_dirty, .releasepage = ubifs_releasepage, + .direct_IO = ubifs_direct_IO, }; const struct inode_operations ubifs_file_inode_operations = { -- 1.8.4.5 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html