diff options
Diffstat (limited to 'weed/storage/volume.go')
| -rw-r--r-- | weed/storage/volume.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/weed/storage/volume.go b/weed/storage/volume.go index 94d1f9a4e..e55564652 100644 --- a/weed/storage/volume.go +++ b/weed/storage/volume.go @@ -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() +} |
