diff options
| -rw-r--r-- | sys/geom/part/g_part.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index 3a12a314b844..6082ff2d948d 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -791,8 +791,12 @@ g_part_ctl_undo(struct gctl_req *req, struct g_part_parms *gpp) goto fail; } error = g_part_probe(gp, cp, table->gpt_depth); - if (error) - goto fail; + if (error) { + g_topology_lock(); + g_access(cp, -1, -1, -1); + g_part_wither(gp, error); + return (0); + } table = gp->softc; } |
