MCPcopy Create free account
hub / github.com/GoEdgeLab/EdgeNode / SyncUnsafe

Method SyncUnsafe

internal/utils/bfs/meta_file.go:343–369  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

341}
342
343func (this *MetaFile) SyncUnsafe() error {
344 if !this.isModified {
345 return nil
346 }
347
348 AckWriteThread()
349 err := this.fp.Sync()
350 ReleaseWriteThread()
351 if err != nil {
352 return err
353 }
354
355 for hash := range this.modifiedHashMap {
356 lazyHeader, ok := this.headerMap[hash]
357 if ok {
358 header, decodeErr := lazyHeader.FileHeaderUnsafe()
359 if decodeErr != nil {
360 return decodeErr
361 }
362 header.IsWriting = false
363 }
364 }
365
366 this.isModified = false
367 this.modifiedHashMap = map[string]zero.Zero{}
368 return nil
369}
370
371// Close 关闭当前文件
372func (this *MetaFile) Close() error {

Callers 1

syncMethod · 0.80

Calls 4

AckWriteThreadFunction · 0.85
ReleaseWriteThreadFunction · 0.85
SyncMethod · 0.45
FileHeaderUnsafeMethod · 0.45

Tested by

no test coverage detected