diff options
author | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-02-07 23:08:24 +0000 |
---|---|---|
committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-02-07 23:08:24 +0000 |
commit | 801bb689ca8be76700b0c16c159683b5fa89472d (patch) | |
tree | 926f1fc791d8d4e6893f5573cb0b3fed3a603f7c /sys/geom/geom_dev.c | |
parent | 96fda1ea0570af073eb2e9ef0770fe54766ff42b (diff) | |
download | src-801bb689ca8be76700b0c16c159683b5fa89472d.tar.gz src-801bb689ca8be76700b0c16c159683b5fa89472d.zip |
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.
Notes
Notes:
svn path=/head/; revision=110523
Diffstat (limited to 'sys/geom/geom_dev.c')
-rw-r--r-- | sys/geom/geom_dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 99f4cc7e0c12..24234b953337 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) |