mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
core/rawdb: fsync the data file in freezer after write
This commit is contained in:
parent
7072af726b
commit
95ffac5d82
1 changed files with 5 additions and 2 deletions
|
|
@ -182,12 +182,15 @@ func (batch *freezerTableBatch) maybeCommit() error {
|
|||
|
||||
// commit writes the batched items to the backing freezerTable.
|
||||
func (batch *freezerTableBatch) commit() error {
|
||||
// Write data. The head file is not fsync'd after write to avoid
|
||||
// expensive overhead.
|
||||
// Write data. The head file is fsync'd after write to ensure the
|
||||
// data is truly transferred to disk.
|
||||
_, err := batch.t.head.Write(batch.dataBuffer)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := batch.t.head.Sync(); err != nil {
|
||||
return err
|
||||
}
|
||||
dataSize := int64(len(batch.dataBuffer))
|
||||
batch.dataBuffer = batch.dataBuffer[:0]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue