aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/volume.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/storage/volume.go')
-rw-r--r--weed/storage/volume.go12
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()
+}