Ming Lei 943b40c832 block: respect queue limit of max discard segment
When queue_max_discard_segments(q) is 1, blk_discard_mergable() will
return false for discard request, then normal request merge is applied.
However, only queue_max_segments() is checked, so max discard segment
limit isn't respected.

Check max discard segment limit in the request merge code for fixing
the issue.

Discard request failure of virtio_blk is fixed.

Fixes: 69840466086d ("block: fix the DISCARD request merge")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-08-17 06:59:41 -07:00
..
2020-07-31 16:29:47 -06:00
2020-08-03 13:01:22 -07:00
2020-08-03 11:57:03 -07:00
2020-03-17 20:55:21 +01:00
2019-10-07 21:19:10 -06:00
2020-05-29 16:30:39 -06:00
2020-08-16 20:07:12 -07:00
2020-01-03 09:33:21 +01:00
2020-07-31 16:29:47 -06:00
2019-07-15 09:20:27 -03:00
2020-07-08 16:16:20 +02:00
2020-01-06 20:59:04 -07:00