files:transfer-ownership fails with "not enough free space" when the target quota is unlimited
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
Línea de trabajo
Comienza en apps/files/lib/Service/OwnershipTransferService.php, especialmente en OwnershipTransferService::analyse() alrededor de la comprobación del espacio libre, y sigue los valores de cuota descritos en el issue. Reproduce el problema con un almacén de objetos como almacenamiento principal y una cuota de destino ilimitada usando occ files:transfer-ownership; la tarea estará terminada cuando una transferencia no vacía ya no se cancele porque la cuota de destino sea ilimitada o no se pueda calcular.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Bug description
occ files:transfer-ownership aborts with Target user does not have enough free space available. when the destination user has unlimited quota on an instance using object storage as primary storage — it fails precisely because the target has no limit.
Cause
OwnershipTransferService::analyse():
$freeSpace = $view->free_space($destinationUid . '/files/');
if ($size > $freeSpace && $freeSpace !== FileInfo::SPACE_UNKNOWN) {
free_space() returns negative sentinels, but the guard exempts only SPACE_UNKNOWN (-2). For a quota-less user, Quota::free_space() passes through to ObjectStoreStorage::free_space(), which returns SPACE_UNLIMITED (-3) when no totalSizeLimit is set. $size > -3 is true for any non-empty source, so it throws. SPACE_NOT_COMPUTED (-1) has the same flaw.
Not reachable on local primary storage, where an unlimited-quota user gets real disk free space — which is probably why it hasn't surfaced before.
Steps to reproduce
- Object store as primary storage, no
totalSizeLimit. - Destination user quota
none. occ files:transfer-ownership --path="<non-empty folder>" <source> <destination>
Workaround
Set a finite quota on the destination, transfer, set it back to none.
Version
34.0.3, and present on master @ 22bd34a.
- Lenguaje dominante
- PHP
- Estrellas
- 36.9k
- Forks
- 5.2k
- Merge medio
- 2 d
- PR fusionados (30 d)
- 725
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de nextcloud/server
-
3. to review
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
0. Needs triage 33-feedback bug feature: dashboard feature: files feature: theming needs info
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
.htaccess whitelist missing .json/.ftl → files_pdfviewer locale 404s, PDF viewer stuck in English Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
0. Needs triage 34-feedback bug
Dificultad 1/5 1-3 horas Aptitud para principiantes 88/100
-
0. Needs triage 34-feedback bug feature: object storage
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Todos los issues de nextcloud/server
Issues similares
-
priority: p3
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
googleapis/librarian#7636 ·
-
0. Needs triage bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
nextcloud/fulltextsearch#1011 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
phpstan/phpstan-doctrine#794 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Automattic/static-site-importer#1767 ·