aboutsummaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifsproto.h
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2011-05-19 16:22:56 -0400
committerSteve French <sfrench@us.ibm.com>2011-05-25 16:38:33 -0400
commitc28c89fc43e3f81436efc4748837534d4d46f90c (patch)
treed7eec9d8aabf41d38dcecab0de6f91b6a8a037c6 /fs/cifs/cifsproto.h
parentf7910cbd9fa319ee4501074f1f3b5ce23c4b1518 (diff)
cifs: add cifs_async_writev
Add the ability for CIFS to do an asynchronous write. The kernel will set the frame up as it would for a "normal" SMBWrite2 request, and use cifs_call_async to send it. The mid callback will then be configured to handle the result. Reviewed-by: Pavel Shilovsky <piastry@etersoft.ru> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsproto.h')
-rw-r--r--fs/cifs/cifsproto.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h
index fdc0dc2c083c..8aea8850ffee 100644
--- a/fs/cifs/cifsproto.h
+++ b/fs/cifs/cifsproto.h
@@ -442,4 +442,22 @@ extern int mdfour(unsigned char *, unsigned char *, int);
442extern int E_md4hash(const unsigned char *passwd, unsigned char *p16); 442extern int E_md4hash(const unsigned char *passwd, unsigned char *p16);
443extern int SMBencrypt(unsigned char *passwd, const unsigned char *c8, 443extern int SMBencrypt(unsigned char *passwd, const unsigned char *c8,
444 unsigned char *p24); 444 unsigned char *p24);
445
446/* asynchronous write support */
447struct cifs_writedata {
448 struct kref refcount;
449 enum writeback_sync_modes sync_mode;
450 struct work_struct work;
451 struct cifsFileInfo *cfile;
452 __u64 offset;
453 unsigned int bytes;
454 int result;
455 unsigned int nr_pages;
456 struct page *pages[1];
457};
458
459int cifs_async_writev(struct cifs_writedata *wdata);
460struct cifs_writedata *cifs_writedata_alloc(unsigned int nr_pages);
461void cifs_writedata_release(struct kref *refcount);
462
445#endif /* _CIFSPROTO_H */ 463#endif /* _CIFSPROTO_H */