summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2022-05-29 21:10:26 +0200
committerBenBE <BenBE@geshi.org>2022-05-30 07:50:57 +0200
commitc0a9e92eeaf53c53ca806f0ffa75a75c8a912e48 (patch)
tree0c0130933a0ef4704bbb9534f2f72206e677c1ee /generic
parent491c6f1044630a4134393ef91df8bcf387ae5268 (diff)
Implement FreeBSD support for minimum ZFS ARC size
Diffstat (limited to 'generic')
-rw-r--r--generic/openzfs_sysctl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/generic/openzfs_sysctl.c b/generic/openzfs_sysctl.c
index d088da78..bcd37dcb 100644
--- a/generic/openzfs_sysctl.c
+++ b/generic/openzfs_sysctl.c
@@ -15,6 +15,7 @@ in the source distribution for its full text.
static int MIB_kstat_zfs_misc_arcstats_size[5];
+static int MIB_kstat_zfs_misc_arcstats_c_min[5];
static int MIB_kstat_zfs_misc_arcstats_c_max[5];
static int MIB_kstat_zfs_misc_arcstats_mfu_size[5];
static int MIB_kstat_zfs_misc_arcstats_mru_size[5];
@@ -35,6 +36,7 @@ void openzfs_sysctl_init(ZfsArcStats* stats) {
len = 5;
sysctlnametomib("kstat.zfs.misc.arcstats.size", MIB_kstat_zfs_misc_arcstats_size, &len);
+ sysctlnametomib("kstat.zfs.misc.arcstats.c_min", MIB_kstat_zfs_misc_arcstats_c_min, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.c_max", MIB_kstat_zfs_misc_arcstats_c_max, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.mfu_size", MIB_kstat_zfs_misc_arcstats_mfu_size, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.mru_size", MIB_kstat_zfs_misc_arcstats_mru_size, &len);
@@ -61,6 +63,10 @@ void openzfs_sysctl_updateArcStats(ZfsArcStats* stats) {
sysctl(MIB_kstat_zfs_misc_arcstats_size, 5, &(stats->size), &len, NULL, 0);
stats->size /= 1024;
+ len = sizeof(stats->min);
+ sysctl(MIB_kstat_zfs_misc_arcstats_c_min, 5, &(stats->min), &len, NULL, 0);
+ stats->min /= 1024;
+
len = sizeof(stats->max);
sysctl(MIB_kstat_zfs_misc_arcstats_c_max, 5, &(stats->max), &len, NULL, 0);
stats->max /= 1024;

© 2014-2024 Faster IT GmbH | imprint | privacy policy