aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris/uts/common
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2018-08-30 13:42:01 +0000
committerMark Johnston <markj@FreeBSD.org>2018-08-30 13:42:01 +0000
commitf554293615ab6473812dd3cfe101b410f021b9fe (patch)
tree6a9a1625c83f6b121ae0220e6d1aff0b4c71f34c /sys/cddl/contrib/opensolaris/uts/common
parentca703fe987439c78ab2bcc9d890281f6b2112c03 (diff)
downloadsrc-f554293615ab6473812dd3cfe101b410f021b9fe.tar.gz
src-f554293615ab6473812dd3cfe101b410f021b9fe.zip
Re-add kstat.zfs.misc.arcstats.other_size under COMPAT_FREEBSD11.
It is used by a number of applications, notably top(1). Reported by: netchild Reviewed by: allanjude Approved by: re (delphij) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D16943
Notes
Notes: svn path=/head/; revision=338395
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
index b825a4c92e9c..1387925c4607 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
@@ -661,6 +661,12 @@ typedef struct arc_stats {
* Number of bytes consumed by bonus buffers.
*/
kstat_named_t arcstat_bonus_size;
+#if defined(__FreeBSD__) && defined(COMPAT_FREEBSD11)
+ /*
+ * Sum of the previous three counters, provided for compatibility.
+ */
+ kstat_named_t arcstat_other_size;
+#endif
/*
* Total number of bytes consumed by ARC buffers residing in the
* arc_anon state. This includes *all* buffers in the arc_anon
@@ -875,6 +881,9 @@ static arc_stats_t arc_stats = {
{ "dbuf_size", KSTAT_DATA_UINT64 },
{ "dnode_size", KSTAT_DATA_UINT64 },
{ "bonus_size", KSTAT_DATA_UINT64 },
+#if defined(__FreeBSD__) && defined(COMPAT_FREEBSD11)
+ { "other_size", KSTAT_DATA_UINT64 },
+#endif
{ "anon_size", KSTAT_DATA_UINT64 },
{ "anon_evictable_data", KSTAT_DATA_UINT64 },
{ "anon_evictable_metadata", KSTAT_DATA_UINT64 },
@@ -6825,6 +6834,11 @@ arc_kstat_update(kstat_t *ksp, int rw)
ARCSTAT(arcstat_bonus_size) = aggsum_value(&astat_bonus_size);
ARCSTAT(arcstat_dnode_size) = aggsum_value(&astat_dnode_size);
ARCSTAT(arcstat_dbuf_size) = aggsum_value(&astat_dbuf_size);
+#if defined(__FreeBSD__) && defined(COMPAT_FREEBSD11)
+ ARCSTAT(arcstat_other_size) = aggsum_value(&astat_bonus_size) +
+ aggsum_value(&astat_dnode_size) +
+ aggsum_value(&astat_dbuf_size);
+#endif
ARCSTAT(arcstat_l2_hdr_size) = aggsum_value(&astat_l2_hdr_size);
}