Lines Matching defs:gpt_base

38 struct gpt_base {
68 struct gpt_base *gpt_base = ctx;
70 spdk_free(gpt_base->gpt.buf);
71 free(gpt_base);
78 struct gpt_base *gpt_base = spdk_bdev_part_base_get_ctx(part_base);
80 spdk_bdev_part_base_hotremove(part_base, &gpt_base->parts);
96 static struct gpt_base *
99 struct gpt_base *gpt_base;
103 gpt_base = calloc(1, sizeof(*gpt_base));
104 if (!gpt_base) {
105 SPDK_ERRLOG("Cannot alloc memory for gpt_base pointer\n");
109 TAILQ_INIT(&gpt_base->parts);
113 &gpt_base->parts, gpt_base_free, gpt_base,
114 sizeof(struct gpt_channel), NULL, NULL, &gpt_base->part_base);
116 free(gpt_base);
117 SPDK_ERRLOG("cannot construct gpt_base");
121 gpt = &gpt_base->gpt;
128 spdk_bdev_part_base_free(gpt_base->part_base);
137 return gpt_base;
275 struct gpt_base *gpt_base = spdk_bdev_part_base_get_ctx(base_bdev);
277 struct spdk_gpt *gpt = &gpt_base->gpt;
318 vbdev_gpt_create_bdevs(struct gpt_base *gpt_base)
330 gpt = &gpt_base->gpt;
372 base_bdev = spdk_bdev_part_base_get_bdev(gpt_base->part_base);
382 rc = spdk_bdev_part_construct_ext(&d->part, gpt_base->part_base, name, lba_start,
401 struct gpt_base *gpt_base = (struct gpt_base *)arg;
402 struct spdk_bdev *bdev = spdk_bdev_part_base_get_bdev(gpt_base->part_base);
406 spdk_put_io_channel(gpt_base->ch);
407 gpt_base->ch = NULL;
414 rc = gpt_parse_partition_table(&gpt_base->gpt);
423 num_partitions = vbdev_gpt_create_bdevs(gpt_base);
433 spdk_bdev_part_base_free(gpt_base->part_base);
438 vbdev_gpt_read_secondary_table(struct gpt_base *gpt_base)
444 gpt = &gpt_base->gpt;
449 part_base_desc = spdk_bdev_part_base_get_desc(gpt_base->part_base);
452 return spdk_bdev_read(part_base_desc, gpt_base->ch, gpt_base->gpt.buf, secondary_offset,
453 gpt_base->gpt.buf_size, gpt_read_secondary_table_complete,
454 gpt_base);
460 struct gpt_base *gpt_base = (struct gpt_base *)arg;
461 struct spdk_bdev *bdev = spdk_bdev_part_base_get_bdev(gpt_base->part_base);
471 rc = gpt_parse_mbr(&gpt_base->gpt);
477 rc = gpt_parse_partition_table(&gpt_base->gpt);
480 rc = vbdev_gpt_read_secondary_table(gpt_base);
488 num_partitions = vbdev_gpt_create_bdevs(gpt_base);
495 spdk_put_io_channel(gpt_base->ch);
496 gpt_base->ch = NULL;
509 spdk_bdev_part_base_free(gpt_base->part_base);
516 struct gpt_base *gpt_base;
520 gpt_base = gpt_base_bdev_init(bdev);
521 if (!gpt_base) {
522 SPDK_ERRLOG("Cannot allocated gpt_base\n");
526 part_base_desc = spdk_bdev_part_base_get_desc(gpt_base->part_base);
527 gpt_base->ch = spdk_bdev_get_io_channel(part_base_desc);
528 if (gpt_base->ch == NULL) {
530 spdk_bdev_part_base_free(gpt_base->part_base);
534 rc = spdk_bdev_read(part_base_desc, gpt_base->ch, gpt_base->gpt.buf, 0,
535 gpt_base->gpt.buf_size, gpt_bdev_complete, gpt_base);
537 spdk_put_io_channel(gpt_base->ch);
538 spdk_bdev_part_base_free(gpt_base->part_base);