]> git.baikalelectronics.ru Git - kernel.git/commit
block: respect queue limit of max discard segment
authorMing Lei <ming.lei@redhat.com>
Mon, 17 Aug 2020 09:52:39 +0000 (17:52 +0800)
committerJens Axboe <axboe@kernel.dk>
Mon, 17 Aug 2020 13:59:41 +0000 (06:59 -0700)
commit161741775d2ed53b8e234def3cd3468747697886
treebad51d9f93dd0e6f0cd7e4acec5016f6acb62dab
parentb06b5f5a7a98f5e57c118887da24bfbe84bbc151
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: d8186c676583 ("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>
block/blk-merge.c