Restore FreeBSD sysctl processing for arc.min and arc.max
commite945e8d7f4fcafd4f1c01abd90810fc09ab6a811
authorAllan Jude <allan@klarasystems.com>
Mon, 16 Aug 2021 15:35:19 +0000 (16 11:35 -0400)
committerGitHub <noreply@github.com>
Mon, 16 Aug 2021 15:35:19 +0000 (16 09:35 -0600)
treebd303352b4c601274ec9418d43d2d29c9602e6d6
parent41bee4039c546a8f700e173694be2dba3e34a7ce
Restore FreeBSD sysctl processing for arc.min and arc.max

Before OpenZFS 2.0, trying to set the FreeBSD sysctl vfs.zfs.arc_max
to a disallowed value would return an error.
Since the switch, it instead only generates WARN_IF_TUNING_IGNORED

Keep the ability to set the sysctl's specifically to 0, even though
that is less than the minimum, because some tests depend on this.

Also lost, was the ability to set vfs.zfs.arc_max to a value less
than the default vfs.zfs.arc_min at boot time. Restore this as well.

Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com>
Reviewed-by: Ryan Moeller <ryan@ixsystems.com>
Signed-off-by: Allan Jude <allan@klarasystems.com>
Closes #12161
include/os/freebsd/spl/sys/mod_os.h
include/sys/arc.h
include/sys/arc_impl.h
module/os/freebsd/zfs/sysctl_os.c
module/os/linux/zfs/arc_os.c
module/zfs/arc.c