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; |
