diff --git a/sbin/geom/core/geom.c b/sbin/geom/core/geom.c --- a/sbin/geom/core/geom.c +++ b/sbin/geom/core/geom.c @@ -1260,7 +1260,7 @@ LIST_FOREACH(cp, &gp->lg_consumer, lg_consumer) { cstate = status_one_consumer(cp, "state"); csyncr = status_one_consumer(cp, "synchronized"); - if (cstate == NULL && csyncr == NULL) + if (cp->lg_provider == NULL) continue; if (!gotone || script) { @@ -1281,9 +1281,12 @@ } else if (cstate != NULL) { xo_emit("{P:/%*s}{:compontent} ({:state})\n", len, "", cp->lg_provider->lg_name, cstate); - } else { + } else if (csyncr != NULL) { xo_emit("{P:/%*s}{:compontent} ({:synchronized})\n", len, "", cp->lg_provider->lg_name, csyncr); + } else { + xo_emit("{P:/%*s}{:compontent}\n", + len, "", cp->lg_provider->lg_name); } xo_close_instance("component"); gotone = 1;