summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsglob.h
diff options
context:
space:
mode:
authorPavel Shilovsky <pshilov@microsoft.com>2017-04-25 11:52:31 -0700
committerSteve French <smfrench@gmail.com>2017-05-02 14:57:34 -0500
commitc610c4b619e53494d9c512fa0333e28c732e976f (patch)
tree465a053bc44c41443b0fc34ab8fb5a9c5ef24612 /fs/cifs/cifsglob.h
parent6685c5e2d1acae8e7d3b63b1a205f58420ce7150 (diff)
downloadlinux-c610c4b619e53494d9c512fa0333e28c732e976f.tar.bz2
CIFS: Add asynchronous write support through kernel AIO
This patch adds support to process write calls passed by io_submit() asynchronously. It based on the previously introduced async context that allows to process i/o responses in a separate thread and return the caller immediately for asynchronous calls. This improves writing performance of single threaded applications with increasing of i/o queue depth size. Signed-off-by: Pavel Shilovsky <pshilov@microsoft.com> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r--fs/cifs/cifsglob.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 9438c7cd8dc7..5c0e11a166ff 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -1124,6 +1124,7 @@ struct cifs_aio_ctx {
struct kiocb *iocb;
struct cifsFileInfo *cfile;
struct bio_vec *bv;
+ loff_t pos;
unsigned int npages;
ssize_t rc;
unsigned int len;
@@ -1171,6 +1172,7 @@ struct cifs_writedata {
enum writeback_sync_modes sync_mode;
struct work_struct work;
struct cifsFileInfo *cfile;
+ struct cifs_aio_ctx *ctx;
__u64 offset;
pid_t pid;
unsigned int bytes;