summaryrefslogtreecommitdiffstats
path: root/lib/private/Files/Cache/Watcher.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Files/Cache/Watcher.php')
-rw-r--r--lib/private/Files/Cache/Watcher.php9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/private/Files/Cache/Watcher.php b/lib/private/Files/Cache/Watcher.php
index 19e17e60959..15e15f9f458 100644
--- a/lib/private/Files/Cache/Watcher.php
+++ b/lib/private/Files/Cache/Watcher.php
@@ -89,7 +89,14 @@ class Watcher implements IWatcher {
}
if ($cachedEntry === false || $this->needsUpdate($path, $cachedEntry)) {
$this->update($path, $cachedEntry);
- return true;
+
+ if ($cachedEntry === false) {
+ return true;
+ } else {
+ // storage backends can sometimes return false positives, only return true if the scanner actually found a change
+ $newEntry = $this->cache->get($path);
+ return $newEntry->getStorageMTime() > $cachedEntry->getStorageMTime();
+ }
} else {
return false;
}