aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2023-11-07 16:28:27 +0100
committerRobin Appelman <robin@icewind.nl>2024-01-31 18:05:09 +0100
commite14bceb63fc07a9bde7c8e62605b779d673e91c0 (patch)
treec7ead3801f0b0b57aa2e6c9d71024ce0cb81b8db
parent82e02a7f9633277c2fb15af9d6d78333294aecc7 (diff)
downloadnextcloud-server-e14bceb63fc07a9bde7c8e62605b779d673e91c0.tar.gz
nextcloud-server-e14bceb63fc07a9bde7c8e62605b779d673e91c0.zip
dont reuse etag for folders marked explicitly unscanned
Signed-off-by: Robin Appelman <robin@icewind.nl>
-rw-r--r--lib/private/Files/Cache/Scanner.php3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/private/Files/Cache/Scanner.php b/lib/private/Files/Cache/Scanner.php
index 2711fc8ad19..e1e3528c978 100644
--- a/lib/private/Files/Cache/Scanner.php
+++ b/lib/private/Files/Cache/Scanner.php
@@ -203,7 +203,8 @@ class Scanner extends BasicEmitter implements IScanner {
$fileId = $cacheData['fileid'];
$data['fileid'] = $fileId;
// only reuse data if the file hasn't explicitly changed
- if (isset($data['storage_mtime']) && isset($cacheData['storage_mtime']) && $data['storage_mtime'] === $cacheData['storage_mtime']) {
+ $mtimeUnchanged = isset($data['storage_mtime']) && isset($cacheData['storage_mtime']) && $data['storage_mtime'] === $cacheData['storage_mtime'];
+ if ($mtimeUnchanged && $cacheData['size'] !== -1) {
$data['mtime'] = $cacheData['mtime'];
if (($reuseExisting & self::REUSE_SIZE) && ($data['size'] === -1)) {
$data['size'] = $cacheData['size'];