diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index ef18ca745b1e..9ee3c460fa37 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -5658,8 +5658,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