clear statcache after fopen for smb
This commit is contained in:
parent
38a2467a4f
commit
667d7383e1
|
@ -33,6 +33,7 @@ use Icewind\SMB\Exception\Exception;
|
||||||
use Icewind\SMB\Exception\NotFoundException;
|
use Icewind\SMB\Exception\NotFoundException;
|
||||||
use Icewind\SMB\NativeServer;
|
use Icewind\SMB\NativeServer;
|
||||||
use Icewind\SMB\Server;
|
use Icewind\SMB\Server;
|
||||||
|
use Icewind\Streams\CallbackWrapper;
|
||||||
use Icewind\Streams\IteratorDirectory;
|
use Icewind\Streams\IteratorDirectory;
|
||||||
use OC\Files\Filesystem;
|
use OC\Files\Filesystem;
|
||||||
|
|
||||||
|
@ -189,7 +190,10 @@ class SMB extends Common {
|
||||||
return $this->share->read($fullPath);
|
return $this->share->read($fullPath);
|
||||||
case 'w':
|
case 'w':
|
||||||
case 'wb':
|
case 'wb':
|
||||||
return $this->share->write($fullPath);
|
$source = $this->share->write($fullPath);
|
||||||
|
return CallBackWrapper::wrap($source, null, null, function () use ($fullPath) {
|
||||||
|
unset($this->statCache[$fullPath]);
|
||||||
|
});
|
||||||
case 'a':
|
case 'a':
|
||||||
case 'ab':
|
case 'ab':
|
||||||
case 'r+':
|
case 'r+':
|
||||||
|
@ -219,7 +223,8 @@ class SMB extends Common {
|
||||||
}
|
}
|
||||||
$source = fopen($tmpFile, $mode);
|
$source = fopen($tmpFile, $mode);
|
||||||
$share = $this->share;
|
$share = $this->share;
|
||||||
return CallBackWrapper::wrap($source, null, null, function () use ($tmpFile, $fullPath, $share) {
|
return CallbackWrapper::wrap($source, null, null, function () use ($tmpFile, $fullPath, $share) {
|
||||||
|
unset($this->statCache[$fullPath]);
|
||||||
$share->put($tmpFile, $fullPath);
|
$share->put($tmpFile, $fullPath);
|
||||||
unlink($tmpFile);
|
unlink($tmpFile);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue