diff options
author | Morris Jobke <hey@morrisjobke.de> | 2020-09-17 20:41:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-17 20:41:49 +0200 |
commit | 45cf49bbca1563b69ea7b73ea3497c91651cc313 (patch) | |
tree | b3fc3b6ee48a62bcabd0209a790916e91ac9512c /apps | |
parent | 031269979daf4d534a351f158e1eae5e150e8917 (diff) | |
parent | 43b3049a4f124ca82cc3f99beb51f96e717d7506 (diff) | |
download | nextcloud-server-45cf49bbca1563b69ea7b73ea3497c91651cc313.tar.gz nextcloud-server-45cf49bbca1563b69ea7b73ea3497c91651cc313.zip |
Merge pull request #22915 from nextcloud/smb-outofspace-handling
improve handling of out of space errors for smb
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_external/lib/Lib/Storage/SMB.php | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php index 404aa4e12de..c7e2583f08d 100644 --- a/apps/files_external/lib/Lib/Storage/SMB.php +++ b/apps/files_external/lib/Lib/Storage/SMB.php @@ -44,6 +44,7 @@ use Icewind\SMB\Exception\Exception; use Icewind\SMB\Exception\ForbiddenException; use Icewind\SMB\Exception\InvalidArgumentException; use Icewind\SMB\Exception\NotFoundException; +use Icewind\SMB\Exception\OutOfSpaceException; use Icewind\SMB\Exception\TimedOutException; use Icewind\SMB\IFileInfo; use Icewind\SMB\Native\NativeServer; @@ -57,6 +58,7 @@ use OC\Files\Filesystem; use OC\Files\Storage\Common; use OCA\Files_External\Lib\Notify\SMBNotifyHandler; use OCP\Constants; +use OCP\Files\EntityTooLargeException; use OCP\Files\Notify\IChange; use OCP\Files\Notify\IRenameChange; use OCP\Files\Storage\INotifyStorage; @@ -497,6 +499,8 @@ class SMB extends Common implements INotifyStorage { return false; } catch (ForbiddenException $e) { return false; + } catch (OutOfSpaceException $e) { + throw new EntityTooLargeException("not enough available space to create file", 0, $e); } catch (ConnectException $e) { $this->logger->logException($e, ['message' => 'Error while opening file']); throw new StorageNotAvailableException($e->getMessage(), $e->getCode(), $e); @@ -538,6 +542,8 @@ class SMB extends Common implements INotifyStorage { return true; } return false; + } catch (OutOfSpaceException $e) { + throw new EntityTooLargeException("not enough available space to create file", 0, $e); } catch (ConnectException $e) { $this->logger->logException($e, ['message' => 'Error while creating file']); throw new StorageNotAvailableException($e->getMessage(), $e->getCode(), $e); |