|
@@ -561,11 +561,10 @@ cifs_relock_file(struct cifsFileInfo *cfile)
|
|
|
struct cifs_tcon *tcon = tlink_tcon(cfile->tlink);
|
|
|
int rc = 0;
|
|
|
|
|
|
- /* we are going to update can_cache_brlcks here - need a write access */
|
|
|
- down_write(&cinode->lock_sem);
|
|
|
+ down_read(&cinode->lock_sem);
|
|
|
if (cinode->can_cache_brlcks) {
|
|
|
- /* can cache locks - no need to push them */
|
|
|
- up_write(&cinode->lock_sem);
|
|
|
+ /* can cache locks - no need to relock */
|
|
|
+ up_read(&cinode->lock_sem);
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
@@ -576,7 +575,7 @@ cifs_relock_file(struct cifsFileInfo *cfile)
|
|
|
else
|
|
|
rc = tcon->ses->server->ops->push_mand_locks(cfile);
|
|
|
|
|
|
- up_write(&cinode->lock_sem);
|
|
|
+ up_read(&cinode->lock_sem);
|
|
|
return rc;
|
|
|
}
|
|
|
|