Re: [PATCH v4 1/3] ibmvscsi: make parameters max_id and max_channel read-only

From: James Bottomley
Date: Mon Nov 09 2015 - 10:07:54 EST


On Mon, 2015-11-09 at 15:47 +0100, Laurent Vivier wrote:
> The value of the parameter is never re-read by the driver,
> so a new value is ignored. Let know the user he
> can't modify it by removing writable attribute.

This isn't correct. They're read in every time a new SCSI host is
bound. I don't believe VIO is a hot plug bus, so the only way to get
the values to propagate is to unbind and rebind the driver. Now if you
want to argue they should be read only because users are getting
confused about how to propagate the values, that's a different story,
but this is a standard pattern in quite a few drivers, so you'd need to
argue why vscsi users are special.

James

> Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx>
> ---
> drivers/scsi/ibmvscsi/ibmvscsi.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/ibmvscsi/ibmvscsi.c b/drivers/scsi/ibmvscsi/ibmvscsi.c
> index 6a41c36..3e76490 100644
> --- a/drivers/scsi/ibmvscsi/ibmvscsi.c
> +++ b/drivers/scsi/ibmvscsi/ibmvscsi.c
> @@ -105,9 +105,9 @@ MODULE_AUTHOR("Dave Boutcher");
> MODULE_LICENSE("GPL");
> MODULE_VERSION(IBMVSCSI_VERSION);
>
> -module_param_named(max_id, max_id, int, S_IRUGO | S_IWUSR);
> +module_param_named(max_id, max_id, int, S_IRUGO);
> MODULE_PARM_DESC(max_id, "Largest ID value for each channel");
> -module_param_named(max_channel, max_channel, int, S_IRUGO | S_IWUSR);
> +module_param_named(max_channel, max_channel, int, S_IRUGO);
> MODULE_PARM_DESC(max_channel, "Largest channel value");
> module_param_named(init_timeout, init_timeout, int, S_IRUGO | S_IWUSR);
> MODULE_PARM_DESC(init_timeout, "Initialization timeout in seconds");



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/