mirror of
https://github.com/nextcloud/server.git
synced 2026-06-09 00:32:29 -04:00
fix: get source file before moving the cache item in objectstore moveFromStorage
Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
parent
337df1f760
commit
5bcd74ae87
1 changed files with 5 additions and 1 deletions
|
|
@ -605,10 +605,14 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common implements IChunkedFil
|
|||
}
|
||||
$sourceStorage->rmdir($sourceInternalPath);
|
||||
} else {
|
||||
$sourceStream = $sourceStorage->fopen($sourceInternalPath, 'r');
|
||||
if (!$sourceStream) {
|
||||
return false;
|
||||
}
|
||||
// move the cache entry before the contents so that we have the correct fileid/urn for the target
|
||||
$this->getCache()->moveFromCache($sourceCache, $sourceInternalPath, $targetInternalPath);
|
||||
try {
|
||||
$this->writeStream($targetInternalPath, $sourceStorage->fopen($sourceInternalPath, 'r'), $sourceCacheEntry->getSize());
|
||||
$this->writeStream($targetInternalPath, $sourceStream, $sourceCacheEntry->getSize());
|
||||
} catch (\Exception $e) {
|
||||
// restore the cache entry
|
||||
$sourceCache->moveFromCache($this->getCache(), $targetInternalPath, $sourceInternalPath);
|
||||
|
|
|
|||
Loading…
Reference in a new issue