summaryrefslogtreecommitdiff
path: root/fs/cifs/cifsproto.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2012-05-16 11:13:17 (GMT)
committerSteve French <sfrench@us.ibm.com>2012-05-17 01:13:31 (GMT)
commit1c89254926c0643b99541d422c909762479aeef8 (patch)
treef1124d07f10359eaf1ed51ba93c7e183b057cdba /fs/cifs/cifsproto.h
parent2a1bb13853300bbb5a58eab006189d2c0dc215a0 (diff)
downloadlinux-fsl-qoriq-1c89254926c0643b99541d422c909762479aeef8.tar.xz
cifs: convert cifs_iovec_read to use async reads
Convert cifs_iovec_read to use async I/O. This also raises the limit on the rsize for uncached reads. We first allocate a set of pages to hold the replies, then issue the reads in parallel and then collect the replies and copy the results into the iovec. A possible future optimization would be to kmap and inline the iovec buffers and read the data directly from the socket into that. That would require some rather complex conversion of the iovec into a kvec however. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r--fs/cifs/cifsproto.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index 63e91c7..eeb789d 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -465,6 +465,8 @@ extern int SMBencrypt(unsigned char *passwd, const unsigned char *c8,
/* asynchronous read support */
struct cifs_readdata {
struct kref refcount;
+ struct list_head list;
+ struct completion done;
struct cifsFileInfo *cfile;
struct address_space *mapping;
__u64 offset;