diff options
author | Alexander Motin <mav@FreeBSD.org> | 2020-02-03 17:10:40 +0000 |
---|---|---|
committer | Alexander Motin <mav@FreeBSD.org> | 2020-02-03 17:10:40 +0000 |
commit | c68c82324fe3a323ce769f0c33f52416ead79b69 (patch) | |
tree | 37853c60d777275e79a02d0966df3d06279be925 /sys/cddl/contrib/opensolaris/uts/common/fs | |
parent | bcd1cf4f039b0d6a23363b0d62e0898ac07b3d97 (diff) | |
download | src-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.c | 16 |
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 |