Lines Matching refs:map
30 struct uid_gid_map *map);
279 map_id_range_down_max(unsigned extents, struct uid_gid_map *map, u32 id, u32 count) in map_id_range_down_max() argument
287 return bsearch(&key, map->forward, extents, in map_id_range_down_max()
297 map_id_range_down_base(unsigned extents, struct uid_gid_map *map, u32 id, u32 count) in map_id_range_down_base() argument
306 first = map->extent[idx].first; in map_id_range_down_base()
307 last = first + map->extent[idx].count - 1; in map_id_range_down_base()
310 return &map->extent[idx]; in map_id_range_down_base()
315 static u32 map_id_range_down(struct uid_gid_map *map, u32 id, u32 count) in map_id_range_down() argument
318 unsigned extents = map->nr_extents; in map_id_range_down()
322 extent = map_id_range_down_base(extents, map, id, count); in map_id_range_down()
324 extent = map_id_range_down_max(extents, map, id, count); in map_id_range_down()
335 u32 map_id_down(struct uid_gid_map *map, u32 id) in map_id_down() argument
337 return map_id_range_down(map, id, 1); in map_id_down()
346 map_id_range_up_base(unsigned extents, struct uid_gid_map *map, u32 id, u32 count) in map_id_range_up_base() argument
355 first = map->extent[idx].lower_first; in map_id_range_up_base()
356 last = first + map->extent[idx].count - 1; in map_id_range_up_base()
359 return &map->extent[idx]; in map_id_range_up_base()
369 map_id_range_up_max(unsigned extents, struct uid_gid_map *map, u32 id, u32 count) in map_id_range_up_max() argument
377 return bsearch(&key, map->reverse, extents, in map_id_range_up_max()
381 u32 map_id_range_up(struct uid_gid_map *map, u32 id, u32 count) in map_id_range_up() argument
384 unsigned extents = map->nr_extents; in map_id_range_up()
388 extent = map_id_range_up_base(extents, map, id, count); in map_id_range_up()
390 extent = map_id_range_up_max(extents, map, id, count); in map_id_range_up()
401 u32 map_id_up(struct uid_gid_map *map, u32 id) in map_id_up() argument
403 return map_id_range_up(map, id, 1); in map_id_up()
674 struct uid_gid_map *map) in m_start() argument
677 unsigned extents = map->nr_extents; in m_start()
684 return &map->extent[pos]; in m_start()
686 return &map->forward[pos]; in m_start()
786 static int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent) in insert_extent() argument
790 if (map->nr_extents == UID_GID_MAP_MAX_BASE_EXTENTS) { in insert_extent()
803 memcpy(forward, map->extent, in insert_extent()
804 map->nr_extents * sizeof(map->extent[0])); in insert_extent()
806 map->forward = forward; in insert_extent()
807 map->reverse = NULL; in insert_extent()
810 if (map->nr_extents < UID_GID_MAP_MAX_BASE_EXTENTS) in insert_extent()
811 dest = &map->extent[map->nr_extents]; in insert_extent()
813 dest = &map->forward[map->nr_extents]; in insert_extent()
816 map->nr_extents++; in insert_extent()
854 static int sort_idmaps(struct uid_gid_map *map) in sort_idmaps() argument
856 if (map->nr_extents <= UID_GID_MAP_MAX_BASE_EXTENTS) in sort_idmaps()
860 sort(map->forward, map->nr_extents, sizeof(struct uid_gid_extent), in sort_idmaps()
864 map->reverse = kmemdup_array(map->forward, map->nr_extents, in sort_idmaps()
866 if (!map->reverse) in sort_idmaps()
870 sort(map->reverse, map->nr_extents, sizeof(struct uid_gid_extent), in sort_idmaps()
933 struct uid_gid_map *map, in map_write() argument
978 if (map->nr_extents != 0) in map_write()
1093 memcpy(map->extent, new_map.extent, in map_write()
1096 map->forward = new_map.forward; in map_write()
1097 map->reverse = new_map.reverse; in map_write()
1100 map->nr_extents = new_map.nr_extents; in map_write()
1108 map->forward = NULL; in map_write()
1109 map->reverse = NULL; in map_write()
1110 map->nr_extents = 0; in map_write()