Aaron Schulz has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/106450


Change subject: Added sanity check for doGetLocalCopyMulti() in Swift
......................................................................

Added sanity check for doGetLocalCopyMulti() in Swift

* This better handles the case of /tmp being full or something

Change-Id: Ibf4fed0fd053f82ef5ede46b6c2ec72feee95699
---
M includes/filebackend/SwiftFileBackend.php
1 file changed, 5 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/50/106450/1

diff --git a/includes/filebackend/SwiftFileBackend.php 
b/includes/filebackend/SwiftFileBackend.php
index 528889b..1480662 100644
--- a/includes/filebackend/SwiftFileBackend.php
+++ b/includes/filebackend/SwiftFileBackend.php
@@ -1078,7 +1078,11 @@
                        $reqs = $this->http->runMulti( $reqs );
                        foreach ( $reqs as $path => $op ) {
                                list( $rcode, $rdesc, $rhdrs, $rbody, $rerr ) = 
$op['response'];
-                               if ( $rcode >= 200 && $rcode <= 299 ) {
+                               fclose( $op['stream'] ); // close open handle
+                               if ( $rcode >= 200 && $rcode <= 299
+                                       // double check that the disk is not 
full/broken
+                                       && $tmpFile->getSize() == 
$rhdrs['content-length']
+                               ) {
                                        // good
                                } elseif ( $rcode === 404 ) {
                                        $tmpFiles[$path] = false;
@@ -1087,7 +1091,6 @@
                                        $this->onError( null, __METHOD__,
                                                array( 'src' => $path ) + $ep, 
$rerr, $rcode, $rdesc );
                                }
-                               fclose( $op['stream'] ); // close open handle
                        }
                }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/106450
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibf4fed0fd053f82ef5ede46b6c2ec72feee95699
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Aaron Schulz <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to