diff options
-rw-r--r-- | fs/cifs/cifsglob.h | 10 | ||||
-rw-r--r-- | fs/cifs/file.c | 10 |
2 files changed, 11 insertions, 9 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 53899a8d7c4a..18ee0adda306 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h | |||
@@ -408,15 +408,7 @@ static inline void cifsFileInfo_get(struct cifsFileInfo *cifs_file) | |||
408 | atomic_inc(&cifs_file->count); | 408 | atomic_inc(&cifs_file->count); |
409 | } | 409 | } |
410 | 410 | ||
411 | /* Release a reference on the file private data */ | 411 | void cifsFileInfo_put(struct cifsFileInfo *cifs_file); |
412 | static inline void cifsFileInfo_put(struct cifsFileInfo *cifs_file) | ||
413 | { | ||
414 | if (atomic_dec_and_test(&cifs_file->count)) { | ||
415 | cifs_put_tlink(cifs_file->tlink); | ||
416 | dput(cifs_file->dentry); | ||
417 | kfree(cifs_file); | ||
418 | } | ||
419 | } | ||
420 | 412 | ||
421 | /* | 413 | /* |
422 | * One of these for each file inode | 414 | * One of these for each file inode |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 26048dc9069a..a3634e43bd4f 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
@@ -266,6 +266,16 @@ cifs_new_fileinfo(__u16 fileHandle, struct file *file, | |||
266 | return pCifsFile; | 266 | return pCifsFile; |
267 | } | 267 | } |
268 | 268 | ||
269 | /* Release a reference on the file private data */ | ||
270 | void cifsFileInfo_put(struct cifsFileInfo *cifs_file) | ||
271 | { | ||
272 | if (atomic_dec_and_test(&cifs_file->count)) { | ||
273 | cifs_put_tlink(cifs_file->tlink); | ||
274 | dput(cifs_file->dentry); | ||
275 | kfree(cifs_file); | ||
276 | } | ||
277 | } | ||
278 | |||
269 | int cifs_open(struct inode *inode, struct file *file) | 279 | int cifs_open(struct inode *inode, struct file *file) |
270 | { | 280 | { |
271 | int rc = -EACCES; | 281 | int rc = -EACCES; |