Merge pull request #43124 from nextcloud/backport/43078/stable26

[stable26] handle storage not available when expiring versions
This commit is contained in:
Robin Appelman 2024-01-26 15:39:54 +01:00 committed by GitHub
commit 1e67bef740
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -63,6 +63,7 @@ use OCP\Files\IMimeTypeDetector;
use OCP\Files\NotFoundException;
use OCP\Files\Search\ISearchBinaryOperator;
use OCP\Files\Search\ISearchComparison;
use OCP\Files\StorageInvalidException;
use OCP\Files\StorageNotAvailableException;
use OCP\IURLGenerator;
use OCP\IUser;
@ -603,6 +604,10 @@ class Storage {
} catch (NotFoundException $e) {
// Original node not found, delete the version
return true;
} catch (StorageNotAvailableException | StorageInvalidException $e) {
// Storage can't be used, but it might only be temporary so we can't always delete the version
// since we can't determine if the version is named we take the safe route and don't expire
return false;
} catch (DoesNotExistException $ex) {
// Version on FS can have no equivalent in the DB if they were created before the version naming feature.
// So we ignore DoesNotExistException.