diff options
Diffstat (limited to 'fs/cifs/file.c')
| -rw-r--r-- | fs/cifs/file.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 8c0d8557731..7a0dd99e450 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -300,6 +300,8 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,  	INIT_WORK(&cfile->oplock_break, cifs_oplock_break);  	mutex_init(&cfile->fh_mutex); +	cifs_sb_active(inode->i_sb); +  	/*  	 * If the server returned a read oplock and we have mandatory brlocks,  	 * set oplock level to None. @@ -349,7 +351,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)  	struct cifs_tcon *tcon = tlink_tcon(cifs_file->tlink);  	struct TCP_Server_Info *server = tcon->ses->server;  	struct cifsInodeInfo *cifsi = CIFS_I(inode); -	struct cifs_sb_info *cifs_sb = CIFS_SB(inode->i_sb); +	struct super_block *sb = inode->i_sb; +	struct cifs_sb_info *cifs_sb = CIFS_SB(sb);  	struct cifsLockInfo *li, *tmp;  	struct cifs_fid fid;  	struct cifs_pending_open open; @@ -414,6 +417,7 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)  	cifs_put_tlink(cifs_file->tlink);  	dput(cifs_file->dentry); +	cifs_sb_deactive(sb);  	kfree(cifs_file);  } |