mirror of
https://github.com/rclone/rclone.git
synced 2024-11-22 16:07:57 +08:00
parent
baf9ee5cf7
commit
f57e92b9a5
|
@ -3,6 +3,7 @@ package vfs
|
|||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"runtime"
|
||||
"sync"
|
||||
|
@ -159,9 +160,12 @@ func (fh *RWFileHandle) openPending(truncate bool) (err error) {
|
|||
// Set the size to 0 since we are truncating and flag we need to write it back
|
||||
fh.file.setSize(0)
|
||||
fh.writeCalled = true
|
||||
if fh.flags&os.O_CREATE != 0 && fh.file.exists() {
|
||||
// create and empty file if it exists on the source
|
||||
cacheFileOpenFlags |= os.O_CREATE
|
||||
if fh.flags&os.O_CREATE == 0 && fh.file.exists() {
|
||||
// create an empty file if it exists on the source
|
||||
err = ioutil.WriteFile(fh.osPath, []byte{}, 0600)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "cache open failed to create zero length file")
|
||||
}
|
||||
}
|
||||
// Windows doesn't seem to deal well with O_TRUNC and
|
||||
// certain access modes so so truncate the file if it
|
||||
|
|
Loading…
Reference in New Issue
Block a user