Browse Source

fix bug deleting volume or unmount volume if a volume server has multiple directories

pull/2947/head
chrislu 3 years ago
parent
commit
8e9ad7db5a
  1. 10
      weed/storage/store.go

10
weed/storage/store.go

@ -434,10 +434,13 @@ func (s *Store) UnmountVolume(i needle.VolumeId) error {
} }
for _, location := range s.Locations { for _, location := range s.Locations {
if err := location.UnloadVolume(i); err == nil || err == ErrVolumeNotFound {
err := location.UnloadVolume(i)
if err == nil {
glog.V(0).Infof("UnmountVolume %d", i) glog.V(0).Infof("UnmountVolume %d", i)
s.DeletedVolumesChan <- message s.DeletedVolumesChan <- message
return nil return nil
} else if err == ErrVolumeNotFound {
continue
} }
} }
@ -458,10 +461,13 @@ func (s *Store) DeleteVolume(i needle.VolumeId) error {
DiskType: string(v.location.DiskType), DiskType: string(v.location.DiskType),
} }
for _, location := range s.Locations { for _, location := range s.Locations {
if err := location.DeleteVolume(i); err == nil || err == ErrVolumeNotFound {
err := location.DeleteVolume(i)
if err == nil {
glog.V(0).Infof("DeleteVolume %d", i) glog.V(0).Infof("DeleteVolume %d", i)
s.DeletedVolumesChan <- message s.DeletedVolumesChan <- message
return nil return nil
} else if err == ErrVolumeNotFound {
continue
} else { } else {
glog.Errorf("DeleteVolume %d: %v", i, err) glog.Errorf("DeleteVolume %d: %v", i, err)
} }

Loading…
Cancel
Save