diff options
author | Pavel Shilovsky <piastry@etersoft.ru> | 2012-11-22 17:07:16 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2012-12-05 13:27:29 -0600 |
commit | b8db928b765b4b0fe1aec3eb7f1741fedbed9a33 (patch) | |
tree | d2a9a40b73af32f7d5be942eea8f716b904c5eae /fs/cifs/smb2file.c | |
parent | 9ec3c882879d3777914d34c0143c7d5b87dbb5ea (diff) | |
download | op-kernel-dev-b8db928b765b4b0fe1aec3eb7f1741fedbed9a33.zip op-kernel-dev-b8db928b765b4b0fe1aec3eb7f1741fedbed9a33.tar.gz |
CIFS: Separate pushing mandatory locks and lock_sem handling
Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/smb2file.c')
-rw-r--r-- | fs/cifs/smb2file.c | 12 |
1 files changed, 0 insertions, 12 deletions
diff --git a/fs/cifs/smb2file.c b/fs/cifs/smb2file.c index a93eec3..71e6aed 100644 --- a/fs/cifs/smb2file.c +++ b/fs/cifs/smb2file.c @@ -260,13 +260,6 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile) struct cifs_fid_locks *fdlocks; xid = get_xid(); - /* we are going to update can_cache_brlcks here - need a write access */ - down_write(&cinode->lock_sem); - if (!cinode->can_cache_brlcks) { - up_write(&cinode->lock_sem); - free_xid(xid); - return rc; - } /* * Accessing maxBuf is racy with cifs_reconnect - need to store value @@ -274,7 +267,6 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile) */ max_buf = tlink_tcon(cfile->tlink)->ses->server->maxBuf; if (!max_buf) { - up_write(&cinode->lock_sem); free_xid(xid); return -EINVAL; } @@ -282,7 +274,6 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile) max_num = max_buf / sizeof(struct smb2_lock_element); buf = kzalloc(max_num * sizeof(struct smb2_lock_element), GFP_KERNEL); if (!buf) { - up_write(&cinode->lock_sem); free_xid(xid); return -ENOMEM; } @@ -293,10 +284,7 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile) rc = stored_rc; } - cinode->can_cache_brlcks = false; kfree(buf); - - up_write(&cinode->lock_sem); free_xid(xid); return rc; } |