diff options
| author | chrislu <chris.lu@gmail.com> | 2022-04-19 22:58:57 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-04-19 22:58:57 -0700 |
| commit | 8e9ad7db5ac31ef38649a44a7599f6431ee616ad (patch) | |
| tree | 41ec34a47c70e5c29ddada2655d8146b5fb25113 | |
| parent | 0a137e675de5be121f73d030085bf3c0a3ba7ee7 (diff) | |
| download | seaweedfs-8e9ad7db5ac31ef38649a44a7599f6431ee616ad.tar.xz seaweedfs-8e9ad7db5ac31ef38649a44a7599f6431ee616ad.zip | |
fix bug deleting volume or unmount volume if a volume server has multiple directories
| -rw-r--r-- | weed/storage/store.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/weed/storage/store.go b/weed/storage/store.go index 30fe63b63..fa2897fbc 100644 --- a/weed/storage/store.go +++ b/weed/storage/store.go @@ -434,10 +434,13 @@ func (s *Store) UnmountVolume(i needle.VolumeId) error { } 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) s.DeletedVolumesChan <- message return nil + } else if err == ErrVolumeNotFound { + continue } } @@ -458,10 +461,13 @@ func (s *Store) DeleteVolume(i needle.VolumeId) error { DiskType: string(v.location.DiskType), } 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) s.DeletedVolumesChan <- message return nil + } else if err == ErrVolumeNotFound { + continue } else { glog.Errorf("DeleteVolume %d: %v", i, err) } |
