diff --git a/lib/files/storage/common.php b/lib/files/storage/common.php
index ab167f2864674d2376f4c63ae1896e5dd1166026..e859d447f396eb9d1b82f01014b526dd55b3da3a 100644
--- a/lib/files/storage/common.php
+++ b/lib/files/storage/common.php
@@ -237,22 +237,19 @@ abstract class Common implements \OC\Files\Storage\Storage {
 		return $this->filemtime($path)>$time;
 	}
 
-	public function getCache(){
+	public function getCache($path=''){
 		return new \OC\Files\Cache\Cache($this);
 	}
 
-	public function getScanner(){
+	public function getScanner($path=''){
 		return new \OC\Files\Cache\Scanner($this);
 	}
 
-	public function getPermissionsCache(){
+	public function getPermissionsCache($path=''){
 		return new \OC\Files\Cache\Permissions($this);
 	}
 
-	/**
-	 * @return \OC\Files\Cache\Watcher
-	 */
-	public function getWatcher(){
+	public function getWatcher($path=''){
 		return new \OC\Files\Cache\Watcher($this);
 	}
 
diff --git a/lib/files/storage/storage.php b/lib/files/storage/storage.php
index b603381dc9099d1f080103a722dce000fcfd16ab..2cc835236bafc7cad93c94de0f0157f63f68c368 100644
--- a/lib/files/storage/storage.php
+++ b/lib/files/storage/storage.php
@@ -54,25 +54,29 @@ interface Storage{
 	public function hasUpdated($path,$time);
 
 	/**
+	 * @param string $path
 	 * @return \OC\Files\Cache\Cache
 	 */
-	public function getCache();
+	public function getCache($path='');
 	/**
+	 * @param string $path
 	 * @return \OC\Files\Cache\Scanner
 	 */
-	public function getScanner();
+	public function getScanner($path='');
 
 	public function getOwner($path);
 
 	/**
+	 * @param string $path
 	 * @return \OC\Files\Cache\Permissions
 	 */
-	public function getPermissionsCache();
+	public function getPermissionsCache($path='');
 
 	/**
+	 * @param string $path
 	 * @return \OC\Files\Cache\Watcher
 	 */
-	public function getWatcher();
+	public function getWatcher($path='');
 
 	/**
 	 * get the ETag for a file or folder