persist readonly state to volume info (#5977)

This commit is contained in:
Bruce
2024-09-05 22:58:24 +08:00
committed by GitHub
parent 310d41998d
commit f9e141a412
5 changed files with 525 additions and 499 deletions

View File

@@ -48,8 +48,9 @@ type Volume struct {
isCompacting bool
isCommitCompacting bool
volumeInfo *volume_server_pb.VolumeInfo
location *DiskLocation
volumeInfoRWLock sync.RWMutex
volumeInfo *volume_server_pb.VolumeInfo
location *DiskLocation
lastIoError error
}
@@ -358,3 +359,10 @@ func (v *Volume) IsReadOnly() bool {
defer v.noWriteLock.RUnlock()
return v.noWriteOrDelete || v.noWriteCanDelete || v.location.isDiskSpaceLow
}
func (v *Volume) PersistReadOnly(readOnly bool) {
v.volumeInfoRWLock.RLock()
defer v.volumeInfoRWLock.RUnlock()
v.volumeInfo.ReadOnly = readOnly
v.SaveVolumeInfo()
}