add option for O_SYNC writes for standalone FS backend (#9581)

This commit is contained in:
Krishna Srinivas
2020-05-12 19:24:59 -07:00
committed by GitHub
parent c045ae15e7
commit 94f1a1dea3
9 changed files with 29 additions and 7 deletions

View File

@@ -24,8 +24,12 @@ import (
)
// AppendFile - appends the file "src" to the file "dst"
func AppendFile(dst string, src string) error {
appendFile, err := os.OpenFile(dst, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0666)
func AppendFile(dst string, src string, osync bool) error {
flags := os.O_WRONLY | os.O_APPEND | os.O_CREATE
if osync {
flags = flags | os.O_SYNC
}
appendFile, err := os.OpenFile(dst, flags, 0666)
if err != nil {
return err
}

View File

@@ -24,7 +24,7 @@ import (
)
// AppendFile - appends the file "src" to the file "dst"
func AppendFile(dst string, src string) error {
func AppendFile(dst string, src string, osync bool) error {
appendFile, err := lock.Open(dst, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
if err != nil {
return err

View File

@@ -61,7 +61,7 @@ func TestAppendFile(t *testing.T) {
f.WriteString("bbbbbbbbbb")
f.Close()
if err = AppendFile(name1, name2); err != nil {
if err = AppendFile(name1, name2, false); err != nil {
t.Error(err)
}