aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/store.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/storage/store.go')
-rw-r--r--weed/storage/store.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/weed/storage/store.go b/weed/storage/store.go
index 6ff996a3c..cda1e196b 100644
--- a/weed/storage/store.go
+++ b/weed/storage/store.go
@@ -46,6 +46,7 @@ type Store struct {
DeletedVolumesChan chan master_pb.VolumeShortInformationMessage
NewEcShardsChan chan master_pb.VolumeEcShardInformationMessage
DeletedEcShardsChan chan master_pb.VolumeEcShardInformationMessage
+ isStopping bool
}
func (s *Store) String() (str string) {
@@ -321,6 +322,10 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat {
}
+func (s *Store) SetStopping() {
+ s.isStopping = true
+}
+
func (s *Store) Close() {
for _, location := range s.Locations {
location.Close()
@@ -333,7 +338,7 @@ func (s *Store) WriteVolumeNeedle(i needle.VolumeId, n *needle.Needle, fsync boo
err = fmt.Errorf("volume %d is read only", i)
return
}
- _, _, isUnchanged, err = v.writeNeedle2(n, fsync)
+ _, _, isUnchanged, err = v.writeNeedle2(n, fsync && s.isStopping)
return
}
glog.V(0).Infoln("volume", i, "not found!")