Re: [PATCH] blk-mq:Use BUG_ON instead of if condition followed by BUG.

From: Christoph Hellwig
Date: Fri Nov 12 2021 - 01:35:22 EST


On Thu, Nov 11, 2021 at 10:37:22AM +0000, cgel.zte@xxxxxxxxx wrote:
> From: Zhang Mingyu <zhang.mingyu@xxxxxxxxxx>
>
> This issue was detected with the help of Coccinelle.
>
> Reported-by: Zeal Robot <zealci@xxxxxxxxxx>
> Signed-off-by: Zhang Mingyu <zhang.mingyu@xxxxxxxxxx>
> ---
> block/blk-mq.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 7c5c8a26c8fc..05bffbc6b8ff 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -818,8 +818,7 @@ EXPORT_SYMBOL(__blk_mq_end_request);
>
> void blk_mq_end_request(struct request *rq, blk_status_t error)
> {
> - if (blk_update_request(rq, error, blk_rq_bytes(rq)))
> - BUG();
> + BUG_ON(blk_update_request(rq, error, blk_rq_bytes(rq)));

Err, no. This now moves the actually important condition into the
BUG_ON macro and makes the function a complete mess.