Skip to content

Commit 9303c53

Browse files
Merge pull request cri-o#2225 from isimluk/re-use-existing-idtools.ParseIDMap
Refactor: use idtools.ParseIDMap instead of bundling own version
2 parents 3b4877b + e08ecf6 commit 9303c53

File tree

1 file changed

+2
-37
lines changed

1 file changed

+2
-37
lines changed

server/server.go

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -235,46 +235,11 @@ func getIDMappings(config *Config) (*idtools.IDMappings, error) {
235235
return nil, nil
236236
}
237237

238-
parseTriple := func(spec []string) (container, host, size int, err error) {
239-
cid, err := strconv.ParseUint(spec[0], 10, 32)
240-
if err != nil {
241-
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[0], err)
242-
}
243-
hid, err := strconv.ParseUint(spec[1], 10, 32)
244-
if err != nil {
245-
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[1], err)
246-
}
247-
sz, err := strconv.ParseUint(spec[2], 10, 32)
248-
if err != nil {
249-
return 0, 0, 0, fmt.Errorf("error parsing id map value %q: %v", spec[2], err)
250-
}
251-
return int(cid), int(hid), int(sz), nil
252-
}
253-
parseIDMap := func(spec []string) (idmap []idtools.IDMap, err error) {
254-
for _, uid := range spec {
255-
splitmap := strings.SplitN(uid, ":", 3)
256-
if len(splitmap) < 3 {
257-
return nil, fmt.Errorf("invalid mapping requires 3 fields: %q", uid)
258-
}
259-
cid, hid, size, err := parseTriple(splitmap)
260-
if err != nil {
261-
return nil, err
262-
}
263-
pmap := idtools.IDMap{
264-
ContainerID: cid,
265-
HostID: hid,
266-
Size: size,
267-
}
268-
idmap = append(idmap, pmap)
269-
}
270-
return idmap, nil
271-
}
272-
273-
parsedUIDsMappings, err := parseIDMap(strings.Split(config.UIDMappings, ","))
238+
parsedUIDsMappings, err := idtools.ParseIDMap(strings.Split(config.UIDMappings, ","), "UID")
274239
if err != nil {
275240
return nil, err
276241
}
277-
parsedGIDsMappings, err := parseIDMap(strings.Split(config.GIDMappings, ","))
242+
parsedGIDsMappings, err := idtools.ParseIDMap(strings.Split(config.GIDMappings, ","), "GID")
278243
if err != nil {
279244
return nil, err
280245
}

0 commit comments

Comments
 (0)