Lines Matching full:extent
295 * map_id_range_down_base - Find idmap via binary search in static extent array.
307 /* Find the matching extent */ in map_id_range_down_base()
309 first = map->extent[idx].first; in map_id_range_down_base()
310 last = first + map->extent[idx].count - 1; in map_id_range_down_base()
313 return &map->extent[idx]; in map_id_range_down_base()
320 struct uid_gid_extent *extent; in map_id_range_down() local
325 extent = map_id_range_down_base(extents, map, id, count); in map_id_range_down()
327 extent = map_id_range_down_max(extents, map, id, count); in map_id_range_down()
330 if (extent) in map_id_range_down()
331 id = (id - extent->first) + extent->lower_first; in map_id_range_down()
344 * map_id_up_base - Find idmap via binary search in static extent array.
356 /* Find the matching extent */ in map_id_range_up_base()
358 first = map->extent[idx].lower_first; in map_id_range_up_base()
359 last = first + map->extent[idx].count - 1; in map_id_range_up_base()
362 return &map->extent[idx]; in map_id_range_up_base()
386 struct uid_gid_extent *extent; in map_id_range_up() local
391 extent = map_id_range_up_base(extents, map, id, count); in map_id_range_up()
393 extent = map_id_range_up_max(extents, map, id, count); in map_id_range_up()
396 if (extent) in map_id_range_up()
397 id = (id - extent->lower_first) + extent->first; in map_id_range_up()
616 struct uid_gid_extent *extent = v; in uid_m_show() local
624 lower = from_kuid(lower_ns, KUIDT_INIT(extent->lower_first)); in uid_m_show()
627 extent->first, in uid_m_show()
629 extent->count); in uid_m_show()
637 struct uid_gid_extent *extent = v; in gid_m_show() local
645 lower = from_kgid(lower_ns, KGIDT_INIT(extent->lower_first)); in gid_m_show()
648 extent->first, in gid_m_show()
650 extent->count); in gid_m_show()
658 struct uid_gid_extent *extent = v; in projid_m_show() local
666 lower = from_kprojid(lower_ns, KPROJIDT_INIT(extent->lower_first)); in projid_m_show()
669 extent->first, in projid_m_show()
671 extent->count); in projid_m_show()
687 return &map->extent[pos]; in m_start()
746 struct uid_gid_extent *extent) in mappings_overlap() argument
751 upper_first = extent->first; in mappings_overlap()
752 lower_first = extent->lower_first; in mappings_overlap()
753 upper_last = upper_first + extent->count - 1; in mappings_overlap()
754 lower_last = lower_first + extent->count - 1; in mappings_overlap()
762 prev = &new_map->extent[idx]; in mappings_overlap()
771 /* Does the upper range intersect a previous extent? */ in mappings_overlap()
776 /* Does the lower range intersect a previous extent? */ in mappings_overlap()
785 * insert_extent - Safely insert a new idmap extent into struct uid_gid_map.
789 static int insert_extent(struct uid_gid_map *map, struct uid_gid_extent *extent) in insert_extent() argument
805 memcpy(forward, map->extent, in insert_extent()
806 map->nr_extents * sizeof(map->extent[0])); in insert_extent()
813 dest = &map->extent[map->nr_extents]; in insert_extent()
817 *dest = *extent; in insert_extent()
900 extent0 = &new_map->extent[idx]; in verify_root_map()
942 struct uid_gid_extent extent; in map_write() local
1004 extent.first = simple_strtoul(pos, &pos, 10); in map_write()
1009 extent.lower_first = simple_strtoul(pos, &pos, 10); in map_write()
1014 extent.count = simple_strtoul(pos, &pos, 10); in map_write()
1024 if ((extent.first == (u32) -1) || in map_write()
1025 (extent.lower_first == (u32) -1)) in map_write()
1029 * extent to wrap in map_write()
1031 if ((extent.first + extent.count) <= extent.first) in map_write()
1033 if ((extent.lower_first + extent.count) <= in map_write()
1034 extent.lower_first) in map_write()
1037 /* Do the ranges in extent overlap any previous extents? */ in map_write()
1038 if (mappings_overlap(&new_map, &extent)) in map_write()
1045 ret = insert_extent(&new_map, &extent); in map_write()
1068 e = &new_map.extent[idx]; in map_write()
1076 /* Fail if we can not map the specified extent to in map_write()
1086 * If we want to use binary search for lookup, this clones the extent in map_write()
1095 memcpy(map->extent, new_map.extent, in map_write()
1096 new_map.nr_extents * sizeof(new_map.extent[0])); in map_write()
1184 if ((new_map->nr_extents == 1) && (new_map->extent[0].count == 1) && in new_idmap_permitted()
1186 u32 id = new_map->extent[0].lower_first; in new_idmap_permitted()