[sheepdog] [PATCH] sbd: use kstrtoul() instead of strict_strtoul()

Liu Yuan namei.unix at gmail.com
Sat Jan 31 09:47:19 CET 2015


On Tue, Jan 20, 2015 at 11:46:32AM +0900, Hitoshi Mitake wrote:
> Cc: hujianyang <hujianyang at huawei.com>
> Signed-off-by: Hitoshi Mitake <mitake.hitoshi at lab.ntt.co.jp>
> ---
>  sbd/sheep_block_device.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sbd/sheep_block_device.c b/sbd/sheep_block_device.c
> index eaee932..d82ff43 100644
> --- a/sbd/sheep_block_device.c
> +++ b/sbd/sheep_block_device.c
> @@ -290,7 +290,7 @@ static ssize_t sbd_remove(struct bus_type *bus, const char *buf,
>  	unsigned long ul;
>  	int target_id, ret;
>  
> -	ret = strict_strtoul(buf, 10, &ul);
> +	ret = kstrtoul(buf, 10, &ul);
>  	if (ret)
>  		return ret;

I need to warn you of that:

As far as I can remember, old kernel don't support kstrtoul such as famouse
2.6.32. For compability issue, I chose strict_strtoul instead. In other words,
this patch will break SBD with old kernel, shipped on many distributions such
as centos 6.

As as general practice for kernel module, we'd better use old function. Actually
the later kernel just macro strict_strtoul as kstrtoul().

Thanks
Yuan



More information about the sheepdog mailing list