We don't need to honor chunk sizes for IO that doesn't carry any data.
Unified · Split
| @@ -903,7 +903,7 @@ static inline unsigned int blk_rq_get_max_sectors(struct request *rq) · 902 unmodified lines | ||
| 903 | 903 | if (unlikely(rq->cmd_type == REQ_TYPE_BLOCK_PC)) |
| 904 | 904 | return q->limits.max_hw_sectors; |
| 905 | 905 | |
| 906 | − if (!q->limits.chunk_sectors) | |
| 906 | + if (!q->limits.chunk_sectors || (rq->cmd_flags & REQ_DISCARD)) | |
| 907 | 907 | return blk_queue_get_max_sectors(q, rq->cmd_flags); |
| 908 | 908 | |
| 909 | 909 | return min(blk_max_size_offset(q, blk_rq_pos(rq)), |