Merge pull request #24076 from nextcloud/backport/23741/stable19

[stable19] Unlock when promoting to exclusive lock fails
This commit is contained in:
Julius Härtl 2020-11-16 17:07:05 +01:00 committed by GitHub
commit 8de8bd2326
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 1 deletions

View File

@ -665,7 +665,13 @@ class View {
return false;
}
$this->changeLock($path, ILockingProvider::LOCK_EXCLUSIVE);
try {
$this->changeLock($path, ILockingProvider::LOCK_EXCLUSIVE);
} catch (\Exception $e) {
// Release the shared lock before throwing.
$this->unlockFile($path, ILockingProvider::LOCK_SHARED);
throw $e;
}
/** @var \OC\Files\Storage\Storage $storage */
list($storage, $internalPath) = $this->resolvePath($path);