mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Hold dataMu for writing in CachingInodeOperations.WriteOut.
fsutil.SyncDirtyAll mutates the DirtySet. PiperOrigin-RevId: 236183349 Change-Id: I7e809d5b406ac843407e61eff17d81259a819b4f
This commit is contained in:
@@ -322,9 +322,9 @@ func (c *CachingInodeOperations) WriteOut(ctx context.Context, inode *fs.Inode)
|
||||
c.attrMu.Lock()
|
||||
|
||||
// Write dirty pages back.
|
||||
c.dataMu.RLock()
|
||||
c.dataMu.Lock()
|
||||
err := SyncDirtyAll(ctx, &c.cache, &c.dirty, uint64(c.attr.Size), c.platform.Memory(), c.backingFile.WriteFromBlocksAt)
|
||||
c.dataMu.RUnlock()
|
||||
c.dataMu.Unlock()
|
||||
if err != nil {
|
||||
c.attrMu.Unlock()
|
||||
return err
|
||||
|
||||
Reference in New Issue
Block a user