protect against possible nil

which is unlikely to happen though
This commit is contained in:
Chris Lu 2020-03-14 16:06:03 -07:00
parent 43ed730e90
commit 0576a27f44

View File

@ -154,7 +154,11 @@ func distributedOperation(locations []operation.Location, store *storage.Store,
func getWritableRemoteReplications(s *storage.Store, volumeId needle.VolumeId, masterNode string) ( func getWritableRemoteReplications(s *storage.Store, volumeId needle.VolumeId, masterNode string) (
remoteLocations []operation.Location, err error) { remoteLocations []operation.Location, err error) {
copyCount := s.GetVolume(volumeId).ReplicaPlacement.GetCopyCount() volume := s.GetVolume(volumeId)
if volume == nil {
return nil, fmt.Errorf("fail to find volume %d", volumeId)
}
copyCount := v.ReplicaPlacement.GetCopyCount()
if copyCount > 1 { if copyCount > 1 {
if lookupResult, lookupErr := operation.Lookup(masterNode, volumeId.String()); lookupErr == nil { if lookupResult, lookupErr := operation.Lookup(masterNode, volumeId.String()); lookupErr == nil {
if len(lookupResult.Locations) < copyCount { if len(lookupResult.Locations) < copyCount {