forked from TrueCloudLab/rclone
mount: Make fsync be a no-op rather than returning an error - fixes #1045
This commit is contained in:
parent
390f3cf35b
commit
29c6e22024
2 changed files with 26 additions and 0 deletions
|
@ -144,3 +144,13 @@ func (f *File) Open(ctx context.Context, req *fuse.OpenRequest, resp *fuse.OpenR
|
||||||
*/
|
*/
|
||||||
return nil, errors.New("can't figure out how to open")
|
return nil, errors.New("can't figure out how to open")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check interface satisfied
|
||||||
|
var _ fusefs.NodeFsyncer = (*File)(nil)
|
||||||
|
|
||||||
|
// Fsync the file
|
||||||
|
//
|
||||||
|
// Note that we don't do anything except return OK
|
||||||
|
func (f *File) Fsync(ctx context.Context, req *fuse.FsyncRequest) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Test writing a file with no write()'s to it
|
// Test writing a file with no write()'s to it
|
||||||
|
@ -101,3 +102,18 @@ func TestWriteFileDoubleClose(t *testing.T) {
|
||||||
|
|
||||||
run.rm(t, "testdoubleclose")
|
run.rm(t, "testdoubleclose")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Test Fsync
|
||||||
|
//
|
||||||
|
// NB the code for this is in file.go rather than write.go
|
||||||
|
func TestWriteFileFsync(t *testing.T) {
|
||||||
|
filepath := run.path("to be synced")
|
||||||
|
fd, err := os.Create(filepath)
|
||||||
|
require.NoError(t, err)
|
||||||
|
_, err = fd.Write([]byte("hello"))
|
||||||
|
require.NoError(t, err)
|
||||||
|
err = fd.Sync()
|
||||||
|
require.NoError(t, err)
|
||||||
|
err = fd.Close()
|
||||||
|
require.NoError(t, err)
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue