[dm-devel] [PATCH -next] dm writecache: fix return value check in writecache_ctr()

Mike Snitzer snitzer at redhat.com
Thu May 31 16:02:02 UTC 2018


On Thu, May 31 2018 at  7:53am -0400,
Wei Yongjun <weiyongjun1 at huawei.com> wrote:

> Function dm_io_client_create() and dm_kcopyd_client_create() return
> ERR_PTR() not NULL in case of error. The NULL test in the return value
> check should be replaced with IS_ERR()
> 
> Fixes: 2105231db61b ("dm: add writecache target")
> Signed-off-by: Wei Yongjun <weiyongjun1 at huawei.com>
> ---
>  drivers/md/dm-writecache.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/md/dm-writecache.c b/drivers/md/dm-writecache.c
> index 844c4fb..0b2b436 100644
> --- a/drivers/md/dm-writecache.c
> +++ b/drivers/md/dm-writecache.c
> @@ -1872,9 +1872,10 @@ static int writecache_ctr(struct dm_target *ti, unsigned argc, char **argv)
>  	}
>  
>  	wc->dm_io = dm_io_client_create();
> -	if (!wc->dm_io) {
> -		r = -ENOMEM;
> +	if (IS_ERR(wc->dm_io)) {
> +		r = PTR_ERR(wc->dm_io);
>  		ti->error = "Unable to allocate dm-io client";
> +		wc->dm_io = NULL;
>  		goto bad;
>  	}
>  
> @@ -2096,9 +2097,10 @@ static int writecache_ctr(struct dm_target *ti, unsigned argc, char **argv)
>  		}
>  
>  		wc->dm_kcopyd = dm_kcopyd_client_create(&dm_kcopyd_throttle);
> -		if (!wc->dm_kcopyd) {
> -			r = -ENOMEM;
> +		if (IS_ERR(wc->dm_kcopyd)) {
> +			r = PTR_ERR(wc->dm_kcopyd);
>  			ti->error = "Unable to allocate dm-kcopyd client";
> +			wc->dm_kcopyd = NULL;
>  			goto bad;
>  		}
> 


Yes, I forgot to pull this in.. it got lost in the shuffle.  Mikulas had
provided this same change (folded into a larger patch) yesterday, see:
https://patchwork.kernel.org/patch/10439345/

I'll get this folded in ASAP.

Thanks,
Mike




More information about the dm-devel mailing list