Lines Matching refs:gpt
119 gpt_device_t* gpt; in init() local
120 rc = gpt_device_init(fd, info.block_size, info.block_count, &gpt); in init()
128 return gpt; in init()
141 void dump(const gpt_device_t* gpt, int* count) { in dump() argument
142 if (!gpt->valid) { in dump()
154 p = gpt->partitions[i]; in dump()
158 gpt_get_diffs(gpt, i, &diff); in dump()
179 gpt_device_t* gpt = init(dev, &fd); in dump_partitions() local
180 if (!gpt) return; in dump_partitions()
182 if (!gpt->valid) { in dump_partitions()
190 if (gpt_device_range(gpt, &start, &end)) { in dump_partitions()
197 dump(gpt, &count); in dump_partitions()
201 gpt_device_release(gpt); in dump_partitions()
205 zx_status_t commit(gpt_device_t* gpt, int fd, const char* dev) { in commit() argument
207 dump(gpt, NULL); in commit()
227 int rc = gpt_device_sync(gpt); in commit()
242 gpt_device_t* gpt = init(dev, &fd); in init_gpt() local
243 if (!gpt) return; in init_gpt()
246 gpt_partition_remove_all(gpt); in init_gpt()
247 commit(gpt, fd, dev); in init_gpt()
248 gpt_device_release(gpt); in init_gpt()
257 gpt_device_t* gpt = init(dev, &fd); in add_partition() local
258 if (!gpt) return; in add_partition()
260 if (!gpt->valid) { in add_partition()
262 if (commit(gpt, fd, dev)) { in add_partition()
269 int rc = gpt_partition_add(gpt, name, type, guid, start, end - start + 1, 0); in add_partition()
272 commit(gpt, fd, dev); in add_partition()
275 gpt_device_release(gpt); in add_partition()
283 void tear_down_gpt(int fd, gpt_device_t* gpt) { in tear_down_gpt() argument
284 if (gpt != NULL) { in tear_down_gpt()
285 gpt_device_release(gpt); in tear_down_gpt()
382 gpt_device_t* gpt = init(path_device, &fd); in get_gpt_and_part() local
383 if (gpt == NULL) { in get_gpt_and_part()
384 tear_down_gpt(fd, gpt); in get_gpt_and_part()
388 gpt_partition_t* part = gpt->partitions[idx_part]; in get_gpt_and_part()
390 tear_down_gpt(fd, gpt); in get_gpt_and_part()
394 *gpt_out = gpt; in get_gpt_and_part()
435 gpt_device_t* gpt = init(dev, &fd); in remove_partition() local
436 if (!gpt) return; in remove_partition()
441 gpt_partition_t* p = gpt->partitions[n]; in remove_partition()
445 int rc = gpt_partition_remove(gpt, p->guid); in remove_partition()
451 commit(gpt, fd, dev); in remove_partition()
454 gpt_device_release(gpt); in remove_partition()
460 gpt_device_t* gpt = NULL; in adjust_partition() local
468 zx_status_t rc = get_gpt_and_part(dev, idx_part, &fd, &gpt, &part); in adjust_partition()
474 if ((rc = gpt_device_range(gpt, &block_start, &block_end)) < 0) { in adjust_partition()
486 if ((idx == idx_part) || (gpt->partitions[idx] == NULL)) { in adjust_partition()
490 if ((start > gpt->partitions[idx]->last) || in adjust_partition()
491 (end < gpt->partitions[idx]->first)) { in adjust_partition()
502 rc = commit(gpt, fd, dev); in adjust_partition()
505 tear_down_gpt(fd, gpt); in adjust_partition()
518 gpt_device_t* gpt = NULL; in edit_partition() local
539 zx_status_t rc = get_gpt_and_part(dev, idx_part, &fd, &gpt, &part); in edit_partition()
550 rc = commit(gpt, fd, dev); in edit_partition()
551 tear_down_gpt(fd, gpt); in edit_partition()
561 gpt_device_t* gpt = NULL; in edit_cros_partition() local
630 rc = get_gpt_and_part(dev, idx_part, &fd, &gpt, &part); in edit_cros_partition()
659 rc = commit(gpt, fd, dev); in edit_cros_partition()
661 tear_down_gpt(fd, gpt); in edit_cros_partition()
674 gpt_device_t* gpt = NULL; in set_visibility() local
678 zx_status_t rc = get_gpt_and_part(dev, idx_part, &fd, &gpt, &part); in set_visibility()
689 rc = commit(gpt, fd, dev); in set_visibility()
690 tear_down_gpt(fd, gpt); in set_visibility()
749 gpt_device_t* gpt = init(dev, &fd); in repartition() local
750 if (!gpt) return 255; in repartition()
756 gpt_partition_t *p = gpt->partitions[0]; in repartition()
758 gpt_partition_remove(gpt, p->guid); in repartition()
759 p = gpt->partitions[0]; in repartition()
807 gpt_device_range(gpt, &first_usable, &last_usable); in repartition()
840 gpt_partition_add(gpt, name, type, guid, start, end - start, 0); in repartition()
846 rc = commit(gpt, fd, dev); in repartition()
848 gpt_device_release(gpt); in repartition()