From dedb84acb0f4627175fb1689519fc4fe6eb4c023 Mon Sep 17 00:00:00 2001
From: Roeland Jago Douma <roeland@famdouma.nl>
Date: Thu, 18 Apr 2019 21:04:27 +0200
Subject: [PATCH] Always use a temp file for swift writes

Apparently the if statement doesn't work in all cases (even if I could
not reproduce it). So for the time being we will just not directly
stream to swift.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
---
 lib/private/Files/ObjectStore/Swift.php | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/lib/private/Files/ObjectStore/Swift.php b/lib/private/Files/ObjectStore/Swift.php
index 7e4654b6eb2..fd416157635 100644
--- a/lib/private/Files/ObjectStore/Swift.php
+++ b/lib/private/Files/ObjectStore/Swift.php
@@ -76,14 +76,9 @@ class Swift implements IObjectStore {
 	 * @throws \Exception from openstack lib when something goes wrong
 	 */
 	public function writeObject($urn, $stream) {
-		$handle = $stream;
-
-		$meta = stream_get_meta_data($stream);
-		if (!(isset($meta['seekable']) && $meta['seekable'] === true)) {
-			$tmpFile = \OC::$server->getTempManager()->getTemporaryFile('swiftwrite');
-			file_put_contents($tmpFile, $stream);
-			$handle = fopen($tmpFile, 'rb');
-		}
+		$tmpFile = \OC::$server->getTempManager()->getTemporaryFile('swiftwrite');
+		file_put_contents($tmpFile, $stream);
+		$handle = fopen($tmpFile, 'rb');
 
 		$this->getContainer()->createObject([
 			'name' => $urn,
-- 
GitLab