diff options
author | icewind1991 <icewind1991@gmail.com> | 2013-07-29 13:08:23 -0700 |
---|---|---|
committer | icewind1991 <icewind1991@gmail.com> | 2013-07-29 13:08:23 -0700 |
commit | 7c6246fa451c4646dfaa1396dd37e0b3eb9706ba (patch) | |
tree | 857cd4bab98018bd8415a9623f79d87063387354 | |
parent | 7f9795cc3d632577e392c7fbd07f39f70bf39773 (diff) | |
parent | 74c54587ec1d816b41e5fbfca6f8d61f334a280c (diff) | |
download | nextcloud-server-7c6246fa451c4646dfaa1396dd37e0b3eb9706ba.tar.gz nextcloud-server-7c6246fa451c4646dfaa1396dd37e0b3eb9706ba.zip |
Merge pull request #4213 from owncloud/scanning-performance
Cache: don't check if the parent exists in the cache if we are already sure it does
-rw-r--r-- | lib/files/cache/scanner.php | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php index 520b41fe104..dd212d84cc5 100644 --- a/lib/files/cache/scanner.php +++ b/lib/files/cache/scanner.php @@ -75,9 +75,10 @@ class Scanner extends BasicEmitter { * * @param string $file * @param int $reuseExisting + * @param bool $parentExistsInCache * @return array with metadata of the scanned file */ - public function scanFile($file, $reuseExisting = 0) { + public function scanFile($file, $reuseExisting = 0, $parentExistsInCache = false) { if (!self::isPartialFile($file) and !Filesystem::isFileBlacklisted($file) ) { @@ -85,7 +86,7 @@ class Scanner extends BasicEmitter { \OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_file', array('path' => $file, 'storage' => $this->storageId)); $data = $this->getData($file); if ($data) { - if ($file) { + if ($file and !$parentExistsInCache) { $parent = dirname($file); if ($parent === '.' or $parent === '/') { $parent = ''; @@ -162,7 +163,7 @@ class Scanner extends BasicEmitter { $child = ($path) ? $path . '/' . $file : $file; if (!Filesystem::isIgnoredDir($file)) { $newChildren[] = $file; - $data = $this->scanFile($child, $reuse); + $data = $this->scanFile($child, $reuse, true); if ($data) { if ($data['size'] === -1) { if ($recursive === self::SCAN_RECURSIVE) { |