Re: [PATCH v2 2/5] sysctl: Add flags to support min/max range clamping

From: Waiman Long
Date: Wed Feb 28 2018 - 13:59:00 EST


On 02/28/2018 01:43 PM, Luis R. Rodriguez wrote:
> On Wed, Feb 28, 2018 at 12:53:40PM -0500, Waiman Long wrote:
>> On 02/27/2018 07:47 PM, Luis R. Rodriguez wrote:
>>> On Tue, Feb 27, 2018 at 03:49:48PM -0500, Waiman Long wrote:
>>>> When minimum/maximum values are specified for a sysctl parameter in
>>>> the ctl_table structure with proc_dointvec_minmax() handler,
>>> an
>>>
>>>> update
>>>> to that parameter will fail with error if the given value is outside
>>>> of the required range.
>>>>
>>>> There are use cases where it may be better to clamp the value of
>>>> the sysctl parameter to the given range without failing the update,
>>>> especially if the users are not aware of the actual range limits.
>>> Makes me wonder if we should add something which does let one query
>>> for the ranges. Then scripts can fetch that as well.
>> That will actually be better than printing out the range in the dmesg
>> log. However, I haven't figured out an easy way of doing that. If you
>> have any suggestion, please let me know about it.
> I think a macro that also adds yet another proc read-only entry with a postfix
> "_range" with an internal handler which prints the range may suffice.
>
> Luis

I think that is a possible solution. Instead of adding a macro, I will
add one more flag which does the magic when the ctl_table entry is being
processed. I think that will be simpler from the user point of view.

Cheers,
Longman