diff --git a/lib/files/cache/scanner.php b/lib/files/cache/scanner.php
index 404029ee2ef0662be2f7ba478661deb119fd9123..e650a220f56715ea25ecafe5253a13aabc923498 100644
--- a/lib/files/cache/scanner.php
+++ b/lib/files/cache/scanner.php
@@ -14,6 +14,11 @@ class Scanner {
 	 */
 	private $storage;
 
+	/**
+	 * @var string $storageId
+	 */
+	private $storageId;
+
 	/**
 	 * @var \OC\Files\Cache\Cache $cache
 	 */
@@ -29,6 +34,7 @@ class Scanner {
 
 	public function __construct(\OC\Files\Storage\Storage $storage) {
 		$this->storage = $storage;
+		$this->storageId = $this->storage->getId();
 		$this->cache = $storage->getCache();
 		$this->permissionsCache = $storage->getPermissionsCache();
 	}
@@ -62,6 +68,7 @@ class Scanner {
 	 * @return array with metadata of the scanned file
 	 */
 	public function scanFile($file) {
+		\OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_file', array('path' => $file, 'storage' => $this->storageId));
 		$data = $this->getData($file);
 		if ($file !== '') {
 			$parent = dirname($file);
@@ -85,6 +92,7 @@ class Scanner {
 	 * @return int the size of the scanned folder or -1 if the size is unknown at this stage
 	 */
 	public function scan($path, $recursive = self::SCAN_RECURSIVE) {
+		\OC_Hook::emit('\OC\Files\Cache\Scanner', 'scan_folder', array('path' => $path, 'storage' => $this->storageId));
 		$this->scanFile($path);
 
 		$size = 0;