Skip to content

Commit d98bb68

Browse files
provokateurinbackportbot[bot]
authored andcommitted
fix(TransferOwnershipService): Remove groupfolders size
Signed-off-by: provokateurin <kate@provokateurin.de>
1 parent 92e6d9b commit d98bb68

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

apps/files/lib/Service/OwnershipTransferService.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
use OCA\Encryption\Util;
1818
use OCA\Files\Exception\TransferOwnershipException;
1919
use OCA\Files_External\Config\ConfigAdapter;
20+
use OCA\GroupFolders\Mount\GroupMountPoint;
2021
use OCP\Encryption\IManager as IEncryptionManager;
2122
use OCP\Files\Config\IHomeMountProvider;
2223
use OCP\Files\Config\IUserMountCache;
@@ -166,6 +167,28 @@ public function transfer(
166167
);
167168
$sizeDifference = $sourceSize - $view->getFileInfo($finalTarget)->getSize();
168169

170+
// Files in Team folders are not transferred, so their size needs to be subtracted to avoid warnings about size differences
171+
$mounts = Server::get(IMountManager::class)->getAll();
172+
foreach ($mounts as $mount) {
173+
if (!$mount instanceof GroupMountPoint || !str_starts_with($mount->getMountPoint(), '/' . $sourcePath . '/')) {
174+
continue;
175+
}
176+
177+
$storage = $mount->getStorage();
178+
if ($storage === null) {
179+
$output->writeln('Failed to get storage for mount: ' . $mount->getMountPoint());
180+
continue;
181+
}
182+
183+
$rootCacheEntry = $storage->getCache()->get('');
184+
if ($rootCacheEntry === false) {
185+
$output->writeln('Failed to get root cache entry for storage: ' . $mount->getMountPoint());
186+
continue;
187+
}
188+
189+
$sizeDifference -= $rootCacheEntry->getSize();
190+
}
191+
169192
// transfer the incoming shares
170193
$sourceShares = $this->collectIncomingShares(
171194
$sourceUid,

psalm.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
<referencedClass name="OCA\TwoFactorNextcloudNotification\Controller\APIController"/>
115115
<referencedClass name="OCA\GlobalSiteSelector\Service\SlaveService"/>
116116
<referencedClass name="OCA\Guests\UserBackend"/>
117+
<referencedClass name="OCA\GroupFolders\Mount\GroupMountPoint"/>
117118
</errorLevel>
118119
</UndefinedClass>
119120
<UndefinedFunction>

0 commit comments

Comments
 (0)