Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2015-02-27 16:26:52 +0300
committerRobin Appelman <icewind@owncloud.com>2015-02-27 19:35:28 +0300
commita79602114327e06b91dee4200daac2c50e078b39 (patch)
tree9b34c484c4e29fc0efa8d06cb52548f3c391e7e9 /lib
parent0ec73a58e92b34aec7af28208156205945d608d9 (diff)
Fix cache update when doing a rename that overwrites the target
Diffstat (limited to 'lib')
-rw-r--r--lib/private/files/cache/updater.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/private/files/cache/updater.php b/lib/private/files/cache/updater.php
index 31a4a7c21e7..2ddee57c787 100644
--- a/lib/private/files/cache/updater.php
+++ b/lib/private/files/cache/updater.php
@@ -42,6 +42,9 @@ class Updater {
* @param int $time
*/
public function update($path, $time = null) {
+ if (Scanner::isPartialFile($path)) {
+ return;
+ }
/**
* @var \OC\Files\Storage\Storage $storage
* @var string $internalPath
@@ -104,6 +107,9 @@ class Updater {
if ($sourceStorage && $targetStorage) {
if ($sourceStorage === $targetStorage) {
$cache = $sourceStorage->getCache($sourceInternalPath);
+ if ($cache->inCache($targetInternalPath)) {
+ $cache->remove($targetInternalPath);
+ }
$cache->move($sourceInternalPath, $targetInternalPath);
if (pathinfo($sourceInternalPath, PATHINFO_EXTENSION) !== pathinfo($targetInternalPath, PATHINFO_EXTENSION)) {