diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 704ef7fcfbf8..c13921adec93 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -7015,8 +7015,8 @@ static int run(struct mddev *mddev) } if (discard_supported && - mddev->queue->limits.max_discard_sectors >= stripe && - mddev->queue->limits.discard_granularity >= stripe) + mddev->queue->limits.max_discard_sectors >= (stripe >> 9) && + mddev->queue->limits.discard_granularity >= stripe) queue_flag_set_unlocked(QUEUE_FLAG_DISCARD, mddev->queue); else