mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
cifs: if deferred close is disabled then close files immediately
commit df9d70c186 upstream.
If defer close timeout value is set to 0, then there is no
need to include files in the deferred close list and utilize
the delayed worker for closing. Instead, we can close them
immediately.
Signed-off-by: Bharath SM <bharathsm@microsoft.com>
Reviewed-by: Shyam Prasad N <sprasad@microsoft.com>
Cc: stable@vger.kernel.org
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
bd8cd38d3a
commit
6a05de6da5
@@ -954,8 +954,8 @@ int cifs_close(struct inode *inode, struct file *file)
|
|||||||
cfile = file->private_data;
|
cfile = file->private_data;
|
||||||
file->private_data = NULL;
|
file->private_data = NULL;
|
||||||
dclose = kmalloc(sizeof(struct cifs_deferred_close), GFP_KERNEL);
|
dclose = kmalloc(sizeof(struct cifs_deferred_close), GFP_KERNEL);
|
||||||
if ((cinode->oplock == CIFS_CACHE_RHW_FLG) &&
|
if ((cifs_sb->ctx->closetimeo && cinode->oplock == CIFS_CACHE_RHW_FLG)
|
||||||
cinode->lease_granted &&
|
&& cinode->lease_granted &&
|
||||||
!test_bit(CIFS_INO_CLOSE_ON_LOCK, &cinode->flags) &&
|
!test_bit(CIFS_INO_CLOSE_ON_LOCK, &cinode->flags) &&
|
||||||
dclose) {
|
dclose) {
|
||||||
if (test_and_clear_bit(CIFS_INO_MODIFIED_ATTR, &cinode->flags)) {
|
if (test_and_clear_bit(CIFS_INO_MODIFIED_ATTR, &cinode->flags)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user