Merge pull request #8889 from owncloud/mtime-reuse
Don't update the mtime if the storage mtime hasn't changed
This commit is contained in:
commit
e1beb8c6c3
2 changed files with 3 additions and 2 deletions
1
lib/private/files/cache/scanner.php
vendored
1
lib/private/files/cache/scanner.php
vendored
|
@ -121,6 +121,7 @@ class Scanner extends BasicEmitter {
|
||||||
}
|
}
|
||||||
// only reuse data if the file hasn't explicitly changed
|
// 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']) {
|
if (isset($data['storage_mtime']) && isset($cacheData['storage_mtime']) && $data['storage_mtime'] === $cacheData['storage_mtime']) {
|
||||||
|
$data['mtime'] = $cacheData['mtime'];
|
||||||
if (($reuseExisting & self::REUSE_SIZE) && ($data['size'] === -1)) {
|
if (($reuseExisting & self::REUSE_SIZE) && ($data['size'] === -1)) {
|
||||||
$data['size'] = $cacheData['size'];
|
$data['size'] = $cacheData['size'];
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,7 +112,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
||||||
$this->assertEquals(array('/foo', '/foo/folder', '/foo/folder/bar.txt', '/foo/foo.txt'), $changes);
|
$this->assertEquals(array('/foo', '/foo/folder', '/foo/folder/bar.txt', '/foo/foo.txt'), $changes);
|
||||||
$this->assertEquals(array('/', '/foo', '/foo/folder'), $parents);
|
$this->assertEquals(array('/', '/foo', '/foo/folder'), $parents);
|
||||||
|
|
||||||
$cache->put('foo.txt', array('mtime' => time() - 50));
|
$cache->put('foo.txt', array('storage_mtime' => time() - 50));
|
||||||
|
|
||||||
$propagator = $this->getMock('\OC\Files\Cache\ChangePropagator', array('propagateChanges'), array(), '', false);
|
$propagator = $this->getMock('\OC\Files\Cache\ChangePropagator', array('propagateChanges'), array(), '', false);
|
||||||
$scanner->setPropagator($propagator);
|
$scanner->setPropagator($propagator);
|
||||||
|
@ -128,7 +128,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
||||||
$scanner->setPropagator($originalPropagator);
|
$scanner->setPropagator($originalPropagator);
|
||||||
|
|
||||||
$oldInfo = $cache->get('');
|
$oldInfo = $cache->get('');
|
||||||
$cache->put('foo.txt', array('mtime' => time() - 70));
|
$cache->put('foo.txt', array('storage_mtime' => time() - 70));
|
||||||
$storage->file_put_contents('foo.txt', 'asdasd');
|
$storage->file_put_contents('foo.txt', 'asdasd');
|
||||||
|
|
||||||
$scanner->scan('');
|
$scanner->scan('');
|
||||||
|
|
Loading…
Reference in a new issue