summaryrefslogtreecommitdiffstats
path: root/zfs/openzfs_sysctl.c
diff options
context:
space:
mode:
authorRoss Williams <ross@ross-williams.net>2019-09-03 18:21:33 +0000
committerRoss Williams <ross@ross-williams.net>2019-09-03 18:21:33 +0000
commite450b586368750e771746ef3e2f5a070962dfd28 (patch)
tree5501777912872ee233b6c9b60a26dd4906a6b4a7 /zfs/openzfs_sysctl.c
parentff6914e4ad4b78749bcee5471a33ef206b0a7d03 (diff)
Refactor openzfs_sysctl_init() and ZfsArcMeter...
openzfs_sysctl_init() now returns void instead of int. The ZfsArcStats->enabled flag is set inside the init function now, instead of having to be set from its return value. Preparation for more flag setting in Compressed ARC commit. ZfsArcMeter_readStats() added and all Meter->values[] setting moved to it, eliminating duplicated code in {darwin,freebsd,linux,solaris}/Platform.c.
Diffstat (limited to 'zfs/openzfs_sysctl.c')
-rw-r--r--zfs/openzfs_sysctl.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/zfs/openzfs_sysctl.c b/zfs/openzfs_sysctl.c
index ce48f233..ceee4d10 100644
--- a/zfs/openzfs_sysctl.c
+++ b/zfs/openzfs_sysctl.c
@@ -25,13 +25,14 @@ static int MIB_kstat_zfs_misc_arcstats_other_size[5];
#include "zfs/ZfsArcStats.h"
}*/
-int openzfs_sysctl_init() {
+void openzfs_sysctl_init(ZfsArcStats *stats) {
size_t len;
unsigned long long int arcSize;
len = sizeof(arcSize);
if (sysctlbyname("kstat.zfs.misc.arcstats.size", &arcSize, &len,
NULL, 0) == 0 && arcSize != 0) {
+ stats->enabled = 1;
len = 5; sysctlnametomib("kstat.zfs.misc.arcstats.size", MIB_kstat_zfs_misc_arcstats_size, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.c_max", MIB_kstat_zfs_misc_arcstats_c_max, &len);
@@ -40,9 +41,8 @@ int openzfs_sysctl_init() {
sysctlnametomib("kstat.zfs.misc.arcstats.anon_size", MIB_kstat_zfs_misc_arcstats_anon_size, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.hdr_size", MIB_kstat_zfs_misc_arcstats_hdr_size, &len);
sysctlnametomib("kstat.zfs.misc.arcstats.other_size", MIB_kstat_zfs_misc_arcstats_other_size, &len);
- return 1;
} else {
- return 0;
+ stats->enabled = 0;
}
}

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