|
@@ -90,7 +90,8 @@ static struct bio *blk_bio_discard_split(struct request_queue *q,
|
|
|
/* Zero-sector (unknown) and one-sector granularities are the same. */
|
|
|
granularity = max(q->limits.discard_granularity >> 9, 1U);
|
|
|
|
|
|
- max_discard_sectors = min(q->limits.max_discard_sectors, UINT_MAX >> 9);
|
|
|
+ max_discard_sectors = min(q->limits.max_discard_sectors,
|
|
|
+ bio_allowed_max_sectors(q));
|
|
|
max_discard_sectors -= max_discard_sectors % granularity;
|
|
|
|
|
|
if (unlikely(!max_discard_sectors)) {
|