disable touch to update mtime for external s3 storage

since updating the mtime requires doing a copy this can have a significant overhead and it messes with versioning

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2020-07-07 15:55:38 +02:00
parent cd7a6276f2
commit 0d6910ac13
No known key found for this signature in database
GPG Key ID: 42B69D8A64526EFB
1 changed files with 1 additions and 17 deletions

View File

@ -544,9 +544,6 @@ class AmazonS3 extends \OC\Files\Storage\Common {
}
public function touch($path, $mtime = null) {
$path = $this->normalizePath($path);
$metadata = [];
if (is_null($mtime)) {
$mtime = time();
}
@ -554,21 +551,8 @@ class AmazonS3 extends \OC\Files\Storage\Common {
'lastmodified' => gmdate(\DateTime::RFC1123, $mtime)
];
$fileType = $this->filetype($path);
try {
if ($fileType !== false) {
if ($fileType === 'dir' && !$this->isRoot($path)) {
$path .= '/';
}
$this->getConnection()->copyObject([
'Bucket' => $this->bucket,
'Key' => $this->cleanKey($path),
'Metadata' => $metadata,
'CopySource' => $this->bucket . '/' . $path,
'MetadataDirective' => 'REPLACE',
]);
$this->testTimeout();
} else {
if (!$this->file_exists($path)) {
$mimeType = \OC::$server->getMimeTypeDetector()->detectPath($path);
$this->getConnection()->putObject([
'Bucket' => $this->bucket,