Home | History | Annotate | Download | only in sysinst

Lines Matching defs:infos

191 		if (pset->infos[i].flags & PUIFLG_IS_OUTER)
193 else if (pset->infos[i].cur_part_id != NO_PART)
234 if ((pset->infos[opt].flags & PUIFLAG_EXTEND) &&
236 size = pset->infos[opt].size + pset->cur_free_space;
240 size = pset->infos[opt].size;
241 if (pset->infos[opt].fs_type == FS_TMPFS) {
242 if (pset->infos[opt].size < 0)
252 if (pset->infos[opt].type == PT_swap) {
256 } else if (pset->infos[opt].flags & PUIFLG_JUST_MOUNTPOINT) {
258 pset->infos[opt].mount,
259 getfslabelname(pset->infos[opt].fs_type,
260 pset->infos[opt].fs_version));
262 } else if (pset->infos[opt].mount[0]) {
263 if (pset->infos[opt].instflags & PUIINST_BOOT) {
265 pset->infos[opt].mount, msg_string(MSG_ptn_boot));
268 mount = pset->infos[opt].mount;
271 } else if (pset->infos[opt].flags & PUIFLG_CLONE_PARTS) {
273 pset->infos[opt].clone_src->num_sel,
279 if (pset->infos[opt].parts->pscheme->other_partition_identifier
280 && pset->infos[opt].cur_part_id != NO_PART)
281 mount = pset->infos[opt].parts->pscheme->
282 other_partition_identifier(pset->infos[opt].parts,
283 pset->infos[opt].cur_part_id);
285 mount = getfslabelname(pset->infos[opt].fs_type,
286 pset->infos[opt].fs_version);
287 if (pset->infos[opt].instflags & PUIINST_BOOT) {
297 if (pset->infos[opt].flags & PUIFLAG_EXTEND)
299 else if (pset->infos[opt].flags & PUIFLG_IS_OUTER)
301 else if (pset->infos[opt].cur_part_id != NO_PART)
334 if (strcmp(pset->infos[i].mount,
353 p = realloc(pset->infos, (pset->num+1)*sizeof(*pset->infos));
357 pset->infos = p;
423 p = realloc(pset->infos, (pset->num+1)*sizeof(*pset->infos));
426 pset->infos = p;
476 for (m = pset->menu_opts, p = pset->infos, i = 0; i < pset->num;
515 if (pset->infos[i].flags &
518 free_space -= pset->infos[i].size;
563 struct part_usage_info *p = &pset->infos[m->cursel];
592 if (pset->infos[i].cur_part_id == NO_PART)
594 pset->infos[i].cur_part_id =
595 find_part_at(pset->parts, pset->infos[i].cur_start);
650 if (strcmp(pset->infos[i].mount, "/") == 0) {
657 pset->infos[root].cur_part_id == NO_PART &&
658 pset->infos[root].size ==
659 pset->infos[root].def_size) {
664 pset->infos[root].size -= p->def_size;
671 if (pset->infos[root].flags & PUIFLAG_EXTEND)
688 pset->infos[k].flags &= ~PUIFLAG_EXTEND;
710 * in pset->infos as we have usage infos in the list (pset->num),
885 struct part_usage_info *infos;
891 if (wanted->infos[i].type != info->nat_type->generic_ptype)
893 if (wanted->infos[i].type == PT_root &&
895 strcmp(info->last_mounted, wanted->infos[i].mount) != 0)
897 if (wanted->infos[i].cur_part_id != NO_PART)
899 wanted->infos[i].cur_part_id = pno;
900 wanted->infos[i].parts = parts;
901 wanted->infos[i].size = info->size;
902 wanted->infos[i].cur_start = info->start;
903 wanted->infos[i].flags &= ~PUIFLAG_EXTEND;
904 if (wanted->infos[i].fs_type != FS_UNUSED &&
905 wanted->infos[i].type != PT_swap &&
908 wanted->infos[i].instflags |= PUIINST_MOUNT;
910 wanted->infos[i].flags |= PUIFLG_IS_OUTER;
912 wanted->infos[i].flags &= ~PUIFLG_IS_OUTER;
926 infos = realloc(wanted->infos, sizeof(*infos)*(wanted->num+1));
927 if (infos == NULL)
929 wanted->infos = infos;
930 infos += wanted->num;
932 memset(infos, 0, sizeof(*infos));
934 strlcpy(infos->mount, info->last_mounted,
935 sizeof(infos->mount));
936 infos->type = info->nat_type->generic_ptype;
937 infos->cur_part_id = pno;
938 infos->parts = parts;
939 infos->size = info->size;
940 infos->cur_start = info->start;
941 infos->fs_type = info->fs_type;
942 infos->fs_version = info->fs_sub_type;
944 infos->flags |= PUIFLG_IS_OUTER;
979 wanted->infos = calloc(wanted->num, sizeof(*wanted->infos));
980 if (wanted->infos == NULL) {
985 memcpy(wanted->infos, default_parts_init, sizeof(default_parts_init));
990 if (wanted->infos[i].type != PT_root ||
991 wanted->infos[i].fs_type != FS_TMPFS)
994 wanted->infos[i].size = -25;
995 wanted->infos[i].def_size = -25;
1002 MD_PART_DEFAULTS(pm, wanted->infos, wanted->num);
1006 wanted->infos[i].parts = parts;
1007 wanted->infos[i].cur_part_id = NO_PART;
1008 if (wanted->infos[i].type == PT_undef &&
1009 wanted->infos[i].fs_type != FS_UNUSED) {
1012 wanted->infos[i].fs_type,
1013 wanted->infos[i].fs_version);
1015 wanted->infos[i].type = pt->generic_ptype;
1018 (wanted->infos[i].fs_type == FS_MSDOS ||
1019 wanted->infos[i].fs_type == FS_EX2FS))
1020 wanted->infos[i].flags |=
1024 if (wanted->infos[i].type == PT_swap) {
1028 wanted->infos[i].size =
1032 if (wanted->infos[i].type == PT_swap && swap > wanted->num)
1035 if (wanted->infos[i].instflags & PUIINST_BOOT)
1038 if (wanted->infos[i].type == PT_root) {
1039 if (strcmp(wanted->infos[i].mount, "/") == 0) {
1042 strcmp(wanted->infos[i].mount, "/usr") == 0) {
1043 if (wanted->infos[i].size > 0)
1048 if (wanted->infos[i].fs_type == FS_UNUSED)
1049 wanted->infos[i].fs_type = FS_BSDFFS;
1050 if (wanted->infos[i].fs_type == FS_BSDFFS) {
1055 wanted->infos[i].fs_version = 3;
1106 if (root < wanted->num && wanted->infos[root].cur_part_id == NO_PART) {
1112 wanted->infos[root].limit = max_root_size;
1118 if (wanted->infos[usr].cur_part_id == NO_PART) {
1119 wanted->infos[usr].size += xsize;
1120 wanted->infos[usr].def_size += xsize;
1123 wanted->infos[root].cur_part_id == NO_PART &&
1124 (wanted->infos[root].limit == 0 ||
1125 (wanted->infos[root].size + xsize) <=
1126 wanted->infos[root].limit)) {
1127 wanted->infos[root].size += xsize;
1130 if (wanted->infos[root].limit > 0 &&
1131 wanted->infos[root].size > wanted->infos[root].limit) {
1134 daddr_t spill = wanted->infos[root].size -
1135 wanted->infos[root].limit;
1137 wanted->infos[root].size =
1138 wanted->infos[root].limit;
1139 wanted->infos[usr].size = spill;
1141 wanted->infos[root].size =
1142 wanted->infos[root].limit;
1155 required += wanted->infos[root].size;
1157 required += wanted->infos[usr].size;
1159 required += wanted->infos[def_usr].def_size;
1164 if (wanted->infos[i].cur_part_id != NO_PART)
1166 if (wanted->infos[i].size == 0)
1168 if (wanted->infos[i].flags
1171 free_space -= wanted->infos[i].size;
1176 daddr_t d = wanted->infos[swap].size;
1181 wanted->infos[swap].size -= inc;
1190 wanted->infos[root].size += dump_space;
1194 if (wanted->infos[root].limit > 0 &&
1195 (wanted->infos[root].cur_start + wanted->infos[root].size >
1196 wanted->infos[root].limit ||
1197 (wanted->infos[root].flags & PUIFLAG_EXTEND &&
1198 (wanted->infos[root].cur_start + wanted->infos[root].size
1199 + free_space > wanted->infos[root].limit)))) {
1202 wanted->infos[usr].size = wanted->infos[root].size
1203 - wanted->infos[root].limit;
1204 if (wanted->infos[usr].size <= 0)
1205 wanted->infos[usr].size = max(1,
1206 wanted->infos[usr].def_size);
1207 wanted->infos[root].size =
1208 wanted->infos[root].limit;
1209 if (wanted->infos[root].flags & PUIFLAG_EXTEND) {
1210 wanted->infos[root].flags &= ~PUIFLAG_EXTEND;
1211 wanted->infos[usr].flags |= PUIFLAG_EXTEND;
1215 daddr_t spill = wanted->infos[root].size -
1216 wanted->infos[root].limit;
1218 wanted->infos[root].size =
1219 wanted->infos[root].limit;
1220 wanted->infos[usr].size = spill;
1222 infos[root].size =
1223 wanted->infos[root].limit;
1226 wanted->infos[root].def_size = wanted->infos[root].size;
1230 * We sort pset->infos to sync with pset->parts and
1240 struct part_usage_info *infos;
1249 if (pset->infos[i].size == 0)
1251 if (pset->infos[i].cur_part_id != NO_PART)
1256 /* allocate new infos */
1257 infos = calloc(no, sizeof *infos);
1258 if (infos == NULL)
1263 infos[i].cur_part_id = NO_PART;
1264 infos[i].cur_flags = PTI_PSCHEME_INTERNAL;
1271 pno = pset->infos[i].cur_part_id;
1274 if (pset->parts != pset->infos[i].parts)
1276 if (pset->infos[i].flags & PUIFLG_JUST_MOUNTPOINT)
1278 if ((pset->infos[i].flags & (PUIFLG_IS_OUTER|PUIFLG_ADD_INNER))
1283 memcpy(infos+pno, pset->infos+i, sizeof(*infos));
1285 /* Fill in the infos for real partitions where we had no data */
1289 if (infos[pno].cur_part_id != NO_PART)
1296 infos[pno].parts = pset->parts;
1297 infos[pno].cur_part_id = pno;
1298 infos[pno].cur_flags = info.flags;
1299 infos[pno].size = info.size;
1300 infos[pno].type = info.nat_type->generic_ptype;
1301 infos[pno].cur_start = info.start;
1302 infos[pno].fs_type = info.fs_type;
1303 infos[pno].fs_version = info.fs_sub_type;
1310 if (pset->infos[i].size == 0)
1312 if (pset->infos[i].cur_part_id != NO_PART)
1314 memcpy(infos+j, pset->infos+i, sizeof(*infos));
1318 /* done, replace infos */
1319 free(pset->infos);
1321 pset->infos = infos;
1330 normalize_clones(struct part_usage_info **infos, size_t *num)
1338 if ((*infos)[i].clone_src != NULL &&
1339 (*infos)[i].flags & PUIFLG_CLONE_PARTS &&
1340 (*infos)[i].cur_part_id == NO_PART)
1341 add_clones += (*infos)[i].clone_src->num_sel-1;
1346 ui = calloc(*num+add_clones, sizeof(**infos));
1351 for (src = *infos, target = ui, i = 0; i < *num; i++) {
1374 free(*infos);
1375 *infos = ui;
1385 struct disk_part_info *infos;
1395 normalize_clones(&wanted->infos, &wanted->num);
1398 infos = calloc(wanted->num, sizeof(*infos));
1399 if (infos == NULL) {
1412 if ((wanted->infos[i].flags & PUIFLAG_EXTEND) &&
1415 if (wanted->infos[i].flags & PUIFLG_JUST_MOUNTPOINT)
1417 nsp = wanted->infos[i].size;
1418 if (wanted->infos[i].cur_part_id != NO_PART) {
1419 ps = wanted->infos[i].flags & PUIFLG_IS_OUTER ?
1423 wanted->infos[i].cur_part_id, &infos[i]);
1424 if (!(wanted->infos[i].flags & PUIFLG_IS_OUTER))
1425 nsp -= infos[i].size;
1439 daddr_t new_size = wanted->infos[exp_ndx].size;
1443 if (wanted->infos[exp_ndx].limit > 0 &&
1444 (new_size + wanted->infos[exp_ndx].cur_start)
1445 > wanted->infos[exp_ndx].limit) {
1446 wanted->infos[exp_ndx].size =
1447 wanted->infos[exp_ndx].limit
1448 - wanted->infos[exp_ndx].cur_start;
1450 wanted->infos[exp_ndx].size = new_size;
1465 ps = wanted->infos[i].flags & PUIFLG_IS_OUTER ?
1467 const struct part_usage_info *want = &wanted->infos[i];
1474 infos[i].start);
1475 if (free_size < wanted->infos[i].size)
1477 if (infos[i].size != wanted->infos[i].size) {
1478 infos[i].size = wanted->infos[i].size;
1480 &infos[i], NULL);
1494 struct part_usage_info *want = &wanted->infos[i];
1510 infos[i].start = space.start;
1511 infos[i].size = min(want->size, space.size);
1512 infos[i].nat_type =
1515 infos[i].last_mounted = want->mount;
1516 infos[i].fs_type = want->fs_type;
1517 infos[i].fs_sub_type = want->fs_version;
1518 infos[i].fs_opt1 = want->fs_opt1;
1519 infos[i].fs_opt2 = want->fs_opt2;
1520 infos[i].fs_opt3 = want->fs_opt3;
1522 &infos[i], NULL);
1527 new_part_id, &infos[i]);
1531 from = roundup(infos[i].start +
1532 infos[i].size, outer_align);
1545 struct part_usage_info *want = &wanted->infos[i];
1576 infos[i] = cinfo;
1577 infos[i].start = space.start;
1579 wanted->parts, &infos[i], NULL);
1597 infos[i].start = space.start;
1598 infos[i].size = min(want->size, space.size);
1599 infos[i].nat_type =
1602 infos[i].last_mounted = want->mount;
1603 infos[i].fs_type = want->fs_type;
1604 infos[i].fs_sub_type = want->fs_version;
1605 infos[i].fs_opt1 = want->fs_opt1;
1606 infos[i].fs_opt2 = want->fs_opt2;
1607 infos[i].fs_opt3 = want->fs_opt3;
1615 wanted->parts, &infos[i], NULL);
1622 wanted->parts, new_part_id, &infos[i]);
1623 from = roundup(infos[i].start+infos[i].size, align);
1632 struct part_usage_info *want = &wanted->infos[i];
1659 infos[i].start = want->cur_start;
1660 infos[i].size = want->size;
1661 infos[i].nat_type = wanted->parts->pscheme->
1664 infos[i].last_mounted = want->mount;
1665 infos[i].fs_type = want->fs_type;
1666 infos[i].fs_sub_type = want->fs_version;
1667 infos[i].fs_opt1 = want->fs_opt1;
1668 infos[i].fs_opt2 = want->fs_opt2;
1669 infos[i].fs_opt3 = want->fs_opt3;
1675 wanted->parts, &infos[i], NULL);
1679 wanted->parts, &infos[i], NULL);
1686 wanted->parts, new_part_id, &infos[i]);
1700 wanted->infos[i].cur_part_id = NO_PART;
1710 if (wanted->infos[i].cur_part_id != NO_PART)
1712 if (wanted->infos[i].size <= 0)
1714 if (t.start == infos[i].start) {
1715 wanted->infos[i].cur_part_id = pno;
1716 wanted->infos[i].cur_start = infos[i].start;
1717 wanted->infos[i].cur_flags = infos[i].flags;
1722 free(infos);
1724 /* sort, and sync part ids and wanted->infos[] indices */
1887 if (wanted.infos[i].cur_flags & PTI_INSTALL_TARGET) {
1890 target_start = wanted.infos[i].cur_start;
1899 if (wanted.infos[i].type != PT_root ||
1900 strcmp(wanted.infos[i].mount, "/") != 0)
1902 wanted.infos[i].cur_flags |= PTI_INSTALL_TARGET;
1905 wanted.infos[i].cur_part_id, &info))
1909 wanted.infos[i].cur_part_id, &info, NULL);
1911 target_start = wanted.infos[i].cur_start;
1919 if ((wanted.infos[i].cur_flags & PTI_BOOT) != 0 ||
1920 wanted.infos[i].type == PT_EFI_SYSTEM) {
1932 if ((wanted.infos[i].type != PT_FAT &&
1933 wanted.infos[i].type != PT_EFI_SYSTEM) ||
1934 wanted.infos[i].fs_type != FS_MSDOS)
1936 daddr_t ps = wanted.infos[i].cur_start;
1937 daddr_t pe = ps + wanted.infos[i].size;
1949 wanted.infos[boot_part].cur_part_id, &info)) {
1952 wanted.infos[boot_part].cur_part_id, &info, NULL);
1954 wanted.infos[boot_part].instflags |= PUIINST_BOOT;
1969 /* update install infos */
1971 install->infos = wanted.infos;
1979 /* we moved infos from wanted to install target */
1980 wanted.infos = NULL;
2024 if (install->infos[i].type != PT_root)
2026 if (strcmp(install->infos[i].mount, "/") != 0)
2028 if (install->infos[i].fs_type != FS_BSDFFS)
2030 if (install->infos[i].fs_version < 2)