On Thu, May 10, 2018 at 10:24:19AM -0600, Jens Axboe wrote:
> It's not useful, they are internal and/or error handling recovery
> commands.
> 
> Acked-by: Paolo Valente <[email protected]>

Reviewed-by: Omar Sandoval <[email protected]>

> Signed-off-by: Jens Axboe <[email protected]>
> ---
>  block/blk-mq.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/block/blk-mq.c b/block/blk-mq.c
> index 4e9d83594cca..64630caaf27e 100644
> --- a/block/blk-mq.c
> +++ b/block/blk-mq.c
> @@ -360,9 +360,11 @@ static struct request *blk_mq_get_request(struct 
> request_queue *q,
>  
>               /*
>                * Flush requests are special and go directly to the
> -              * dispatch list.
> +              * dispatch list. Don't include reserved tags in the
> +              * limiting, as it isn't useful.
>                */
> -             if (!op_is_flush(op) && e->type->ops.mq.limit_depth)
> +             if (!op_is_flush(op) && e->type->ops.mq.limit_depth &&
> +                 !(data->flags & BLK_MQ_REQ_RESERVED))
>                       e->type->ops.mq.limit_depth(op, data);
>       }
>  
> -- 
> 2.7.4
> 

Reply via email to