func (a *Allocator) initializeAddressSpace(as string, ds datastore.DataStore) error { scope := "" if ds != nil { scope = ds.Scope() } a.Lock() if currAS, ok := a.addrSpaces[as]; ok { if currAS.ds != nil { a.Unlock() return types.ForbiddenErrorf("a datastore is already configured for the address space %s", as) } } a.addrSpaces[as] = &addrSpace{ subnets: map[SubnetKey]*PoolData{}, id: dsConfigKey + "/" + as, scope: scope, ds: ds, alloc: a, } a.Unlock() a.checkConsistency(as) return nil }
func (a *Allocator) initializeAddressSpace(as string, ds datastore.DataStore) error { a.Lock() if _, ok := a.addrSpaces[as]; ok { a.Unlock() return types.ForbiddenErrorf("tried to add an axisting address space: %s", as) } a.addrSpaces[as] = &addrSpace{ subnets: map[SubnetKey]*PoolData{}, id: dsConfigKey + "/" + as, scope: ds.Scope(), ds: ds, alloc: a, } a.Unlock() a.checkConsistency(as) return nil }