aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris/uts/common/fs
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2020-02-03 17:10:40 +0000
committerAlexander Motin <mav@FreeBSD.org>2020-02-03 17:10:40 +0000
commitc68c82324fe3a323ce769f0c33f52416ead79b69 (patch)
tree37853c60d777275e79a02d0966df3d06279be925 /sys/cddl/contrib/opensolaris/uts/common/fs
parentbcd1cf4f039b0d6a23363b0d62e0898ac07b3d97 (diff)
downloadsrc-c68c82324fe3a323ce769f0c33f52416ead79b69.tar.gz
src-c68c82324fe3a323ce769f0c33f52416ead79b69.zip
Unblock kstat.zfs.misc.dbufstats sysctls.
It is not so much broken to hide it after we wasted time to collect it. MFC after: 2 weeks Sponsored by: iXsystems, Inc.
Notes
Notes: svn path=/head/; revision=357453
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
index 2d1d72096eec..b7214bc2ed25 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
@@ -747,6 +747,10 @@ dbuf_evict_thread(void *unused __unused)
(void) cv_timedwait_hires(&dbuf_evict_cv,
&dbuf_evict_lock, SEC2NSEC(1), MSEC2NSEC(1), 0);
CALLB_CPR_SAFE_END(&cpr, &dbuf_evict_lock);
+#ifdef __FreeBSD__
+ if (dbuf_ksp != NULL)
+ dbuf_ksp->ks_update(dbuf_ksp, KSTAT_READ);
+#endif
}
mutex_exit(&dbuf_evict_lock);
@@ -880,18 +884,10 @@ retry:
dbuf_cache_evict_thread = thread_create(NULL, 0, dbuf_evict_thread,
NULL, 0, &p0, TS_RUN, minclsyspri);
-#ifdef __linux__
- /*
- * XXX FreeBSD's SPL lacks KSTAT_TYPE_NAMED support - TODO
- */
dbuf_ksp = kstat_create("zfs", 0, "dbufstats", "misc",
KSTAT_TYPE_NAMED, sizeof (dbuf_stats) / sizeof (kstat_named_t),
KSTAT_FLAG_VIRTUAL);
if (dbuf_ksp != NULL) {
- dbuf_ksp->ks_data = &dbuf_stats;
- dbuf_ksp->ks_update = dbuf_kstat_update;
- kstat_install(dbuf_ksp);
-
for (i = 0; i < DN_MAX_LEVELS; i++) {
snprintf(dbuf_stats.cache_levels[i].name,
KSTAT_STRLEN, "cache_level_%d", i);
@@ -902,8 +898,10 @@ retry:
dbuf_stats.cache_levels_bytes[i].data_type =
KSTAT_DATA_UINT64;
}
+ dbuf_ksp->ks_data = &dbuf_stats;
+ dbuf_ksp->ks_update = dbuf_kstat_update;
+ kstat_install(dbuf_ksp);
}
-#endif
}
void