From 6993f74a5bf836210e7f253d5ad3f76d73a95f51 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Wed, 16 May 2012 07:13:17 -0400 Subject: 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 --- fs/cifs/cifsproto.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'fs/cifs/cifsproto.h') diff --git a/fs/cifs/cifsproto.h b/fs/cifs/cifsproto.h index f309b43848fb..63e91c79564d 100644 --- a/fs/cifs/cifsproto.h +++ b/fs/cifs/cifsproto.h @@ -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 */ -- cgit v1.2.3