Home | History | Annotate | Download | only in libdiskconfig

Lines Matching refs:dinfo

71 mk_pri_pentry(struct disk_info *dinfo, struct part_info *pinfo, int pnum,
104 len_lba += ((uint64_t)dinfo->sect_size - 1);
105 len_lba &= ~((uint64_t)dinfo->sect_size - 1);
106 len_lba /= (uint64_t)dinfo->sect_size;
109 len_lba = dinfo->num_lba - *lba;
122 *lba, dinfo->num_lba - *lba);
141 mk_ext_pentry(struct disk_info *dinfo, struct part_info *pinfo, uint32_t *lba,
155 item->offset = (*lba) * dinfo->sect_size;
163 len = kb_to_lba(pinfo->len_kb, dinfo->sect_size);
170 len = dinfo->num_lba - *lba;
174 (uint32_t)(((uint64_t)len * (uint64_t)dinfo->sect_size) /
196 next_len_lba = 1 + kb_to_lba(pnext->len_kb, dinfo->sect_size);
198 next_len_lba = dinfo->num_lba - *lba;
212 config_mbr(struct disk_info *dinfo)
215 uint32_t cur_lba = dinfo->skip_lba;
222 if (!dinfo->part_lst)
225 for (cnt = 0; cnt < dinfo->num_parts; ++cnt) {
226 pinfo = &dinfo->part_lst[cnt];
230 if (cnt + 1 < dinfo->num_parts) {
233 if ((temp_wr = mk_pri_pentry(dinfo, NULL, cnt, &cur_lba)))
243 if ((cur_lba + extended) >= dinfo->num_lba)
246 uint32_t sz_lba = (pinfo->len_kb / dinfo->sect_size) * 1024;
247 if ((cur_lba + sz_lba + extended) > dinfo->num_lba)
252 temp_wr = mk_pri_pentry(dinfo, pinfo, cnt, &cur_lba);
255 pnext = cnt + 1 < dinfo->num_parts ? &dinfo->part_lst[cnt+1] : NULL;
256 temp_wr = mk_ext_pentry(dinfo, pinfo, &cur_lba, ext_lba, pnext);
272 if (!(temp_wr = mk_pri_pentry(dinfo, &blank, cnt, &cur_lba))) {
294 find_mbr_part(struct disk_info *dinfo, const char *name)
296 struct part_info *plist = dinfo->part_lst;
299 int has_extended = (dinfo->num_parts > PC_NUM_BOOT_RECORD_PARTS);
301 for(num = 1; num <= dinfo->num_parts; ++num) {
306 if (num > dinfo->num_parts)
317 num = snprintf(dev_name, MAX_NAME_LEN, "%s%d", dinfo->device, num);