diff --git a/syncstore/driver_fs.go b/syncstore/driver_fs.go index b88ceb2..178a967 100644 --- a/syncstore/driver_fs.go +++ b/syncstore/driver_fs.go @@ -45,12 +45,17 @@ func (drv *FSStore) RawSave(s *Blob) error { if err != nil { return err } + tempname := f.Name() _, err = f.Write(body) + err2 := f.Close() if err != nil { _ = os.Remove(f.Name()) return err } - return os.Rename(f.Name(), filename) + if err2 != nil { + return err2 + } + return os.Rename(tempname, filename) } func (drv *FSStore) RawLoad(id string) (*Blob, error) {