diff --git a/lib/Service/UserMigrationService.php b/lib/Service/UserMigrationService.php index 2cd988ec..184a7977 100644 --- a/lib/Service/UserMigrationService.php +++ b/lib/Service/UserMigrationService.php @@ -115,11 +115,19 @@ public function estimateExportSize(IUser $user, ?array $filteredMigratorList = n public function checkExportability(IUser $user, ?array $filteredMigratorList = null): void { try { $userFolder = $this->rootFolder->getUserFolder($user->getUID()); - $freeSpace = ceil($userFolder->getFreeSpace() / 1024); + $freeSpace = $userFolder->getFreeSpace(); + if ($freeSpace > 0) { + $freeSpace = ceil($freeSpace / 1024); + } } catch (Throwable $e) { throw new NotExportableException('Error calculating amount of free storage space available'); } + if ($freeSpace < 0) { + // Free space is unknown or unlimited, no need to check for export size + return; + } + try { $exportFile = $userFolder->get(ExportDestination::EXPORT_FILENAME); if (!($exportFile instanceof File)) {