* Having directories with thousands of files will diminish performance.
* Sharding can be accomplished by using FileRepo-style hash paths.
*
- * Status messages should avoid mentioning the internal FS paths.
+ * StatusValue messages should avoid mentioning the internal FS paths.
* PHP warnings are assumed to be logged rather than output.
*
* @ingroup FileBackend
}
protected function doCreateInternal( array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$dest = $this->resolveToFSPath( $params['dst'] );
if ( $dest === null ) {
wfEscapeShellArg( $this->cleanPathSlashes( $tempFile->getPath() ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
] );
- $handler = function ( $errors, Status $status, array $params, $cmd ) {
+ $handler = function ( $errors, StatusValue $status, array $params, $cmd ) {
if ( $errors !== '' && !( wfIsWindows() && $errors[0] === " " ) ) {
$status->fatal( 'backend-fail-create', $params['dst'] );
trigger_error( "$cmd\n$errors", E_USER_WARNING ); // command output
}
protected function doStoreInternal( array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$dest = $this->resolveToFSPath( $params['dst'] );
if ( $dest === null ) {
wfEscapeShellArg( $this->cleanPathSlashes( $params['src'] ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
] );
- $handler = function ( $errors, Status $status, array $params, $cmd ) {
+ $handler = function ( $errors, StatusValue $status, array $params, $cmd ) {
if ( $errors !== '' && !( wfIsWindows() && $errors[0] === " " ) ) {
$status->fatal( 'backend-fail-store', $params['src'], $params['dst'] );
trigger_error( "$cmd\n$errors", E_USER_WARNING ); // command output
}
protected function doCopyInternal( array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$source = $this->resolveToFSPath( $params['src'] );
if ( $source === null ) {
wfEscapeShellArg( $this->cleanPathSlashes( $source ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
] );
- $handler = function ( $errors, Status $status, array $params, $cmd ) {
+ $handler = function ( $errors, StatusValue $status, array $params, $cmd ) {
if ( $errors !== '' && !( wfIsWindows() && $errors[0] === " " ) ) {
$status->fatal( 'backend-fail-copy', $params['src'], $params['dst'] );
trigger_error( "$cmd\n$errors", E_USER_WARNING ); // command output
}
protected function doMoveInternal( array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$source = $this->resolveToFSPath( $params['src'] );
if ( $source === null ) {
wfEscapeShellArg( $this->cleanPathSlashes( $source ) ),
wfEscapeShellArg( $this->cleanPathSlashes( $dest ) )
] );
- $handler = function ( $errors, Status $status, array $params, $cmd ) {
+ $handler = function ( $errors, StatusValue $status, array $params, $cmd ) {
if ( $errors !== '' && !( wfIsWindows() && $errors[0] === " " ) ) {
$status->fatal( 'backend-fail-move', $params['src'], $params['dst'] );
trigger_error( "$cmd\n$errors", E_USER_WARNING ); // command output
}
protected function doDeleteInternal( array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$source = $this->resolveToFSPath( $params['src'] );
if ( $source === null ) {
wfIsWindows() ? 'DEL' : 'unlink',
wfEscapeShellArg( $this->cleanPathSlashes( $source ) )
] );
- $handler = function ( $errors, Status $status, array $params, $cmd ) {
+ $handler = function ( $errors, StatusValue $status, array $params, $cmd ) {
if ( $errors !== '' && !( wfIsWindows() && $errors[0] === " " ) ) {
$status->fatal( 'backend-fail-delete', $params['src'] );
trigger_error( "$cmd\n$errors", E_USER_WARNING ); // command output
* @param string $fullCont
* @param string $dirRel
* @param array $params
- * @return Status
+ * @return StatusValue
*/
protected function doPrepareInternal( $fullCont, $dirRel, array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
$contRoot = $this->containerFSRoot( $shortCont, $fullCont ); // must be valid
$dir = ( $dirRel != '' ) ? "{$contRoot}/{$dirRel}" : $contRoot;
}
protected function doSecureInternal( $fullCont, $dirRel, array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
$contRoot = $this->containerFSRoot( $shortCont, $fullCont ); // must be valid
$dir = ( $dirRel != '' ) ? "{$contRoot}/{$dirRel}" : $contRoot;
}
protected function doPublishInternal( $fullCont, $dirRel, array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
$contRoot = $this->containerFSRoot( $shortCont, $fullCont ); // must be valid
$dir = ( $dirRel != '' ) ? "{$contRoot}/{$dirRel}" : $contRoot;
}
protected function doCleanInternal( $fullCont, $dirRel, array $params ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
list( , $shortCont, ) = FileBackend::splitStoragePath( $params['dir'] );
$contRoot = $this->containerFSRoot( $shortCont, $fullCont ); // must be valid
$dir = ( $dirRel != '' ) ? "{$contRoot}/{$dirRel}" : $contRoot;
/**
* @param FSFileOpHandle[] $fileOpHandles
*
- * @return Status[]
+ * @return StatusValue[]
*/
protected function doExecuteOpHandlesInternal( array $fileOpHandles ) {
$statuses = [];
}
foreach ( $fileOpHandles as $index => $fileOpHandle ) {
- $status = Status::newGood();
+ $status = $this->newStatus();
$function = $fileOpHandle->call;
$function( $errs[$index], $status, $fileOpHandle->params, $fileOpHandle->cmd );
$statuses[$index] = $status;