From e8f2dea5ddc06968c8deacd684154cd56b9664ff Mon Sep 17 00:00:00 2001 From: phk Date: Fri, 7 Feb 2003 23:08:24 +0000 Subject: Commit the correct copy of the g_stat structure. Add debug.sizeof.g_stat sysctl. Set the id field of the g_stat when we create consumers and providers. Remove biocount from consumer, we will use the counters in the g_stat structure instead. Replace one field which will need to be atomically manipulated with two fields which will not (stat.nop and stat.nend). Change add companion field to bio_children: bio_inbed for the exact same reason. Don't output the biocount in the confdot output. Fix KASSERT in g_io_request(). Add sysctl kern.geom.collectstats defaulting to off. Collect the following raw statistics conditioned on this sysctl: for each consumer and provider { total number of operations started. total number of operations completed. time last operation completed. sum of idle-time. for each of BIO_READ, BIO_WRITE and BIO_DELETE { number of operations completed. number of bytes completed. number of ENOMEM errors. number of other errors. sum of transaction time. } } API for getting hold of these statistics data not included yet. --- sys/geom/geom_dev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sys/geom/geom_dev.c') diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 99f4cc7..24234b9 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -430,7 +430,7 @@ g_dev_orphan(struct g_consumer *cp) gp = cp->geom; g_trace(G_T_TOPOLOGY, "g_dev_orphan(%p(%s))", cp, gp->name); g_topology_assert(); - if (cp->biocount > 0) + if (cp->stat.nop != cp->stat.nend) /* XXX ? */ return; dev = gp->softc; if (dev->si_flags & SI_DUMPDEV) -- cgit v1.1