cifs: add refcounting to cifs_readdata structures

This isn't strictly necessary for the async readpages code, but the
uncached version will need to be able to collect the replies after
issuing the calls. Add a kref to cifs_readdata and use change the
code to take and put references appropriately.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
This commit is contained in:
Jeff Layton
2012-05-16 07:13:17 -04:00
committed by Steve French
parent 8d5ce4d23c
commit 6993f74a5b
3 changed files with 19 additions and 7 deletions

View File

@@ -464,6 +464,7 @@ extern int SMBencrypt(unsigned char *passwd, const unsigned char *c8,
/* asynchronous read support */
struct cifs_readdata {
struct kref refcount;
struct cifsFileInfo *cfile;
struct address_space *mapping;
__u64 offset;
@@ -478,6 +479,7 @@ struct cifs_readdata {
struct kvec iov[1];
};
void cifs_readdata_release(struct kref *refcount);
int cifs_async_readv(struct cifs_readdata *rdata);
/* asynchronous write support */