Created attachment 201290 [details]
Patch to add "sysctl_verbose" rc.conf variable.
Several years ago, the output from sysctl(8) commands inside rc.d/sysctl was visible during boot and logged to console.log (if enabled). That was useful because you could see the default values of the sysctl variables that were changed during boot. For example, I have "vfs.ufs.dirhash_maxmem=33554432" (and other things) in my /etc/sysctl.conf because of recommendations from mailing lists several years ago. I can see the change in my console.log:
Oct 3 13:17:38 hexagon kernel: vfs.ufs.dirhash_maxmem: 26963968 -> 33554432
However, that output was disabled by r179965:
Now it is impossible (or very difficult at least) to find out what the default value was. For example, when I update from FreeBSD 11 to 12, maybe the default value of vfs.ufs.dirhash_maxmem changed, so maybe I have to adapt my /etc/sysctl.conf, but I can't easily find out if that's really the case.
The patch attached to this PR introduces a new rc.conf variable "sysctl_verbose". The default is "NO", so the current behavior is not changed. If set to "YES", the output caused by /etc/sysctl.conf is not suppressed, so any changes made to sysctl variables during boot are visible, as has been the case until r179965.
The patch was made for HEAD, but it applies as well to stable/12 and stable/11 (the rc.d/sysctl script is the same on all branches). So MFC should be no problem.
Created attachment 201292 [details]
Fixed patch (there was a duplicate entry for the manual page).
I'm sorry, the inital attachment contained a duplicated entry for the rc.conf(5) manual page. Fixed in this version of the patch (duplicate entry removed).
Created attachment 201293 [details]
Fixed version of the patch. Really.