summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/uts/common/os/kstat_fr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/usr/src/uts/common/os/kstat_fr.c b/usr/src/uts/common/os/kstat_fr.c
index 9ee61a2fb7..fb5333921d 100644
--- a/usr/src/uts/common/os/kstat_fr.c
+++ b/usr/src/uts/common/os/kstat_fr.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012, Joyent, Inc. All rights reserved.
+ * Copyright 2013, Joyent, Inc. All rights reserved.
*/
/*
@@ -759,7 +759,8 @@ header_kstat_update(kstat_t *header_ksp, int rw)
zoneid = getzoneid();
for (e = avl_first(t); e != NULL; e = avl_walk(t, e, AVL_AFTER)) {
- if (kstat_zone_find((kstat_t *)e, zoneid)) {
+ if (kstat_zone_find((kstat_t *)e, zoneid) &&
+ (e->e_ks.ks_flags & KSTAT_FLAG_INVALID) == 0) {
nkstats++;
}
}
@@ -789,7 +790,8 @@ header_kstat_snapshot(kstat_t *header_ksp, void *buf, int rw)
zoneid = getzoneid();
for (e = avl_first(t); e != NULL; e = avl_walk(t, e, AVL_AFTER)) {
- if (kstat_zone_find((kstat_t *)e, zoneid)) {
+ if (kstat_zone_find((kstat_t *)e, zoneid) &&
+ (e->e_ks.ks_flags & KSTAT_FLAG_INVALID) == 0) {
bcopy(&e->e_ks, buf, sizeof (kstat_t));
buf = (char *)buf + sizeof (kstat_t);
}