diff options
author | Pavel Shilovsky <pshilov@microsoft.com> | 2017-04-25 11:52:31 -0700 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2017-05-02 14:57:34 -0500 |
commit | c610c4b619e53494d9c512fa0333e28c732e976f (patch) | |
tree | 465a053bc44c41443b0fc34ab8fb5a9c5ef24612 /fs/cifs/cifsglob.h | |
parent | 6685c5e2d1acae8e7d3b63b1a205f58420ce7150 (diff) | |
download | linux-c610c4b619e53494d9c512fa0333e28c732e976f.tar.gz linux-c610c4b619e53494d9c512fa0333e28c732e976f.tar.bz2 linux-c610c4b619e53494d9c512fa0333e28c732e976f.zip |
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.h | 2 |
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; |