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.
This commit is contained in:
Ross Williams
2019-09-03 18:21:33 +00:00
parent ff6914e4ad
commit e450b58636
10 changed files with 34 additions and 56 deletions

View File

@ -218,18 +218,7 @@ void Platform_setSwapValues(Meter* this) {
void Platform_setZfsArcValues(Meter* this) {
LinuxProcessList* lpl = (LinuxProcessList*) this->pl;
this->total = lpl->zfs.max;
this->values[0] = lpl->zfs.MFU;
this->values[1] = lpl->zfs.MRU;
this->values[2] = lpl->zfs.anon;
this->values[3] = lpl->zfs.header;
this->values[4] = lpl->zfs.other;
// "Hide" the last value so it can
// only be accessed by index and is not
// displayed by the Bar or Graph style
Meter_setItems(this, 5);
this->values[5] = lpl->zfs.size;
ZfsArcMeter_readStats(this, &(lpl->zfs));
}
char* Platform_getProcessEnv(pid_t pid) {