diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index b4f02c9959f2..7f770b0c0348 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -7014,8 +7014,8 @@ static int raid5_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