]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/file_table.c
new methods: ->read_iter() and ->write_iter()
[mirror_ubuntu-artful-kernel.git] / fs / file_table.c
index be73cbc48c12b07e5a4feb8bd243d013404d56e3..f8cc881fbbfb3ff7fca0ea2bc589f0ab8a9f48db 100644 (file)
@@ -175,9 +175,11 @@ struct file *alloc_file(struct path *path, fmode_t mode,
        file->f_path = *path;
        file->f_inode = path->dentry->d_inode;
        file->f_mapping = path->dentry->d_inode->i_mapping;
-       if ((mode & FMODE_READ) && likely(fop->read || fop->aio_read))
+       if ((mode & FMODE_READ) &&
+            likely(fop->read || fop->aio_read || fop->read_iter))
                mode |= FMODE_CAN_READ;
-       if ((mode & FMODE_WRITE) && likely(fop->write || fop->aio_write))
+       if ((mode & FMODE_WRITE) &&
+            likely(fop->write || fop->aio_write || fop->write_iter))
                mode |= FMODE_CAN_WRITE;
        file->f_mode = mode;
        file->f_op = fop;