Message ID | 20200328182734.5585-1-chaitanya.kulkarni@wdc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: return NULL in blk_alloc_queue() on error | expand |
On 3/28/20 7:27 PM, Chaitanya Kulkarni wrote: > This patch fixes follwoing warning: > > block/blk-core.c: In function ‘blk_alloc_queue’: > block/blk-core.c:558:10: warning: returning ‘int’ from a function with return type ‘struct request_queue *’ makes pointer from integer without a cast [-Wint-conversion] > return -EINVAL; > > Fixes: 3d745ea5b095a ("block: simplify queue allocation") > Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> > --- > block/blk-core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/blk-core.c b/block/blk-core.c > index 18b8c09d093e..7e4a1da0715e 100644 > --- a/block/blk-core.c > +++ b/block/blk-core.c > @@ -555,7 +555,7 @@ struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id) > struct request_queue *q; > > if (WARN_ON_ONCE(!make_request)) > - return -EINVAL; > + return NULL; Maybe return ERR_PTR(-EINVAL) is better. Thanks, Guoqing
On 03/28/2020 02:32 PM, Guoqing Jiang wrote: >> >diff --git a/block/blk-core.c b/block/blk-core.c >> >index 18b8c09d093e..7e4a1da0715e 100644 >> >--- a/block/blk-core.c >> >+++ b/block/blk-core.c >> >@@ -555,7 +555,7 @@ struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id) >> > struct request_queue *q; >> > >> > if (WARN_ON_ONCE(!make_request)) >> >- return -EINVAL; >> >+ return NULL; > Maybe return ERR_PTR(-EINVAL) is better. > Initially I used that, what if existing callers are reallying on NULL vs !NULL return value ? Use of NULL just makes the code consistent with existing return value. If Jens is okay with ERR_PTR(), I'll send V2. > Thanks, > Guoqing >
On Sat, Mar 28, 2020 at 11:27:34AM -0700, Chaitanya Kulkarni wrote: > This patch fixes follwoing warning: > > block/blk-core.c: In function ‘blk_alloc_queue’: > block/blk-core.c:558:10: warning: returning ‘int’ from a function with return type ‘struct request_queue *’ makes pointer from integer without a cast [-Wint-conversion] > return -EINVAL; > > Fixes: 3d745ea5b095a ("block: simplify queue allocation") > Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Oops. Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On Sat, Mar 28, 2020 at 11:42:17PM +0000, Chaitanya Kulkarni wrote: > >> >@@ -555,7 +555,7 @@ struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id) > >> > struct request_queue *q; > >> > > >> > if (WARN_ON_ONCE(!make_request)) > >> >- return -EINVAL; > >> >+ return NULL; > > Maybe return ERR_PTR(-EINVAL) is better. > > > > Initially I used that, what if existing callers are reallying on > NULL vs !NULL return value ? Use of NULL just makes the code > consistent with existing return value. > > If Jens is okay with ERR_PTR(), I'll send V2. The callers can't handle an ERR_PTR, so v1 is correct.
On 3/28/20 12:27 PM, Chaitanya Kulkarni wrote: > This patch fixes follwoing warning: > > block/blk-core.c: In function ‘blk_alloc_queue’: > block/blk-core.c:558:10: warning: returning ‘int’ from a function with return type ‘struct request_queue *’ makes pointer from integer without a cast [-Wint-conversion] > return -EINVAL; Applied, thanks.
diff --git a/block/blk-core.c b/block/blk-core.c index 18b8c09d093e..7e4a1da0715e 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -555,7 +555,7 @@ struct request_queue *blk_alloc_queue(make_request_fn make_request, int node_id) struct request_queue *q; if (WARN_ON_ONCE(!make_request)) - return -EINVAL; + return NULL; q = __blk_alloc_queue(node_id); if (!q)
This patch fixes follwoing warning: block/blk-core.c: In function ‘blk_alloc_queue’: block/blk-core.c:558:10: warning: returning ‘int’ from a function with return type ‘struct request_queue *’ makes pointer from integer without a cast [-Wint-conversion] return -EINVAL; Fixes: 3d745ea5b095a ("block: simplify queue allocation") Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> --- block/blk-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)