summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsglob.h
diff options
context:
space:
mode:
authorJeff Layton2012-09-19 15:22:32 +0200
committerSteve French2012-09-25 04:46:32 +0200
commit8321fec436050b586cee448f2da0a6999e5172dd (patch)
treeee361f0ea1ca398158f7ccc71e2dc4ae4b9b89b0 /fs/cifs/cifsglob.h
parentcifs: turn the pages list in cifs_readdata into an array (diff)
downloadkernel-qcow2-linux-8321fec436050b586cee448f2da0a6999e5172dd.tar.gz
kernel-qcow2-linux-8321fec436050b586cee448f2da0a6999e5172dd.tar.xz
kernel-qcow2-linux-8321fec436050b586cee448f2da0a6999e5172dd.zip
cifs: convert async read code to use pages array without kmapping
Replace the "marshal_iov" function with a "read_into_pages" function. That function will copy the read data off the socket and into the pages array, kmapping and reading pages one at a time. Signed-off-by: Jeff Layton <jlayton@redhat.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r--fs/cifs/cifsglob.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index b70863ebedf2..93e16200b2e8 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -978,8 +978,11 @@ struct cifs_readdata {
pid_t pid;
int result;
struct work_struct work;
- int (*marshal_iov) (struct cifs_readdata *rdata,
- unsigned int remaining);
+ int (*read_into_pages)(struct TCP_Server_Info *server,
+ struct cifs_readdata *rdata,
+ unsigned int len);
+ unsigned int pagesz;
+ unsigned int tailsz;
unsigned int nr_iov;
struct kvec *iov;
unsigned int nr_pages;