summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_gpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/geom/geom_gpt.c')
-rw-r--r--sys/geom/geom_gpt.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/sys/geom/geom_gpt.c b/sys/geom/geom_gpt.c
index 5d88f5e..14c8483 100644
--- a/sys/geom/geom_gpt.c
+++ b/sys/geom/geom_gpt.c
@@ -227,7 +227,7 @@ g_gpt_taste(struct g_class *mp, struct g_provider *pp, int insist)
ps = (!memcmp(&ent->ent_type, &freebsd, sizeof(freebsd)))
? 's' : 'p';
g_topology_lock();
- (void)g_slice_addslice(gp, i,
+ (void)g_slice_config(gp, i, G_SLICE_CONFIG_SET,
ent->ent_lba_start * secsz,
(1 + ent->ent_lba_end - ent->ent_lba_start) * secsz,
secsz,
@@ -244,15 +244,12 @@ g_gpt_taste(struct g_class *mp, struct g_provider *pp, int insist)
g_free(mbr);
g_topology_lock();
- error = g_access_rel(cp, -1, 0, 0);
-
- if (npart > 0) {
- LIST_FOREACH(pp, &gp->provider, provider)
- g_error_provider(pp, 0);
- return (gp);
+ g_access_rel(cp, -1, 0, 0);
+ if (LIST_EMPTY(&gp->provider)) {
+ g_std_spoiled(cp);
+ return (NULL);
}
- g_std_spoiled(cp);
- return (NULL);
+ return (gp);
}
static struct g_class g_gpt_class = {
OpenPOWER on IntegriCloud