From 7f7718888d3d9027a7f12e922b101c82a2e17146 Mon Sep 17 00:00:00 2001
From: Markus Goetz <markus@woboq.com>
Date: Wed, 2 Oct 2013 16:47:21 +0200
Subject: [PATCH] DAV: Use fileinfo_cache for ETag

---
 lib/private/connector/sabre/node.php | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/private/connector/sabre/node.php b/lib/private/connector/sabre/node.php
index 29b7f9e53a..e65ad7b8be 100644
--- a/lib/private/connector/sabre/node.php
+++ b/lib/private/connector/sabre/node.php
@@ -207,7 +207,14 @@ abstract class OC_Connector_Sabre_Node implements Sabre_DAV_INode, Sabre_DAV_IPr
 			while( $row = $result->fetchRow()) {
 				$this->property_cache[$row['propertyname']] = $row['propertyvalue'];
 			}
-			$this->property_cache[self::GETETAG_PROPERTYNAME] = $this->getETagPropertyForPath($this->path);
+
+			// Don't call the static getETagPropertyForPath, its result is not cached
+			$this->getFileinfoCache();
+			if ($this->fileinfo_cache['etag']) {
+				$this->property_cache[self::GETETAG_PROPERTYNAME] = '"'.$this->fileinfo_cache['etag'].'"';
+			} else {
+				$this->property_cache[self::GETETAG_PROPERTYNAME] = null;
+			}
 		}
 
 		// if the array was empty, we need to return everything
-- 
GitLab