Author: markj
Date: Thu Aug 30 13:42:01 2018
New Revision: 338395
URL: https://svnweb.freebsd.org/changeset/base/338395

Log:
  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

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Thu Aug 30 
13:29:32 2018        (r338394)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Thu Aug 30 
13:42:01 2018        (r338395)
@@ -661,7 +661,13 @@ 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
         * state; e.g. data, metadata, evictable, and unevictable buffers
@@ -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);
        }
 
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to