aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/fs/cifs/cifsfs.h
diff options
context:
space:
mode:
authorLong Li <longli@microsoft.com>2018-10-31 22:13:09 +0000
committerSteve French <stfrench@microsoft.com>2018-11-02 14:09:41 -0500
commit6e6e2b86c29c6fcfa16ad9fdc7ea32027bea5d73 (patch)
tree1c1c63c0f8191fe88291fe6de8acd341e68bc608 /fs/cifs/cifsfs.h
parentsmb3: missing defines and structs for reparse point handling (diff)
downloadwireguard-linux-6e6e2b86c29c6fcfa16ad9fdc7ea32027bea5d73.tar.xz
wireguard-linux-6e6e2b86c29c6fcfa16ad9fdc7ea32027bea5d73.zip
CIFS: Add support for direct I/O read
With direct I/O read, we transfer the data directly from transport layer to the user data buffer. Change in v3: add support for kernel AIO Change in v4: Refactor common read code to __cifs_readv for direct and non-direct I/O. Retry on direct I/O failure. Signed-off-by: Long Li <longli@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/cifsfs.h')
-rw-r--r--fs/cifs/cifsfs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h
index 24e265a51874..3abea1a3f20c 100644
--- a/fs/cifs/cifsfs.h
+++ b/fs/cifs/cifsfs.h
@@ -101,6 +101,7 @@ extern int cifs_open(struct inode *inode, struct file *file);
extern int cifs_close(struct inode *inode, struct file *file);
extern int cifs_closedir(struct inode *inode, struct file *file);
extern ssize_t cifs_user_readv(struct kiocb *iocb, struct iov_iter *to);
+extern ssize_t cifs_direct_readv(struct kiocb *iocb, struct iov_iter *to);
extern ssize_t cifs_strict_readv(struct kiocb *iocb, struct iov_iter *to);
extern ssize_t cifs_user_writev(struct kiocb *iocb, struct iov_iter *from);
extern ssize_t cifs_strict_writev(struct kiocb *iocb, struct iov_iter *from);