|
|
@ -99,14 +99,12 @@ func (l *DiskLocation) loadExistingVolume(fileInfo os.FileInfo, needleMapKind Ne |
|
|
|
} |
|
|
|
|
|
|
|
// avoid loading one volume more than once
|
|
|
|
l.volumesLock.Lock() |
|
|
|
if _, found := l.volumes[vid]; found { |
|
|
|
l.volumesLock.Unlock() |
|
|
|
l.volumesLock.RLock() |
|
|
|
_, found := l.volumes[vid] |
|
|
|
l.volumesLock.RUnlock() |
|
|
|
if found { |
|
|
|
glog.V(1).Infof("loaded volume, %v", vid) |
|
|
|
return true |
|
|
|
} else { |
|
|
|
l.volumes[vid] = nil |
|
|
|
l.volumesLock.Unlock() |
|
|
|
} |
|
|
|
|
|
|
|
// load the volume
|
|
|
@ -115,7 +113,7 @@ func (l *DiskLocation) loadExistingVolume(fileInfo os.FileInfo, needleMapKind Ne |
|
|
|
glog.V(0).Infof("new volume %s error %s", volumeName, e) |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
l.SetVolume(vid, v) |
|
|
|
|
|
|
|
size, _, _ := v.FileStat() |
|
|
|