Commit fbe8f2fa authored by Bart Van Assche's avatar Bart Van Assche Committed by Yu Kuai
Browse files

md/raid*: Fix the set_queue_limits implementations



queue_limits_cancel_update() must only be called if
queue_limits_start_update() is called first. Remove the
queue_limits_cancel_update() calls from the raid*_set_limits() functions
because there is no corresponding queue_limits_start_update() call.

Cc: Christoph Hellwig <hch@lst.de>
Fixes: c6e56cf6 ("block: move integrity information into queue_limits")
Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/linux-raid/20250212171108.3483150-1-bvanassche@acm.org/


Signed-off-by: default avatarYu Kuai <yukuai@kernel.org>
parent 96b531f9
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -386,10 +386,8 @@ static int raid0_set_limits(struct mddev *mddev)
	lim.io_opt = lim.io_min * mddev->raid_disks;
	lim.features |= BLK_FEAT_ATOMIC_WRITES;
	err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
	if (err) {
		queue_limits_cancel_update(mddev->gendisk->queue);
	if (err)
		return err;
	}
	return queue_limits_set(mddev->gendisk->queue, &lim);
}

+1 −3
Original line number Diff line number Diff line
@@ -3219,10 +3219,8 @@ static int raid1_set_limits(struct mddev *mddev)
	lim.max_write_zeroes_sectors = 0;
	lim.features |= BLK_FEAT_ATOMIC_WRITES;
	err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
	if (err) {
		queue_limits_cancel_update(mddev->gendisk->queue);
	if (err)
		return err;
	}
	return queue_limits_set(mddev->gendisk->queue, &lim);
}

+1 −3
Original line number Diff line number Diff line
@@ -4020,10 +4020,8 @@ static int raid10_set_queue_limits(struct mddev *mddev)
	lim.io_opt = lim.io_min * raid10_nr_stripes(conf);
	lim.features |= BLK_FEAT_ATOMIC_WRITES;
	err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
	if (err) {
		queue_limits_cancel_update(mddev->gendisk->queue);
	if (err)
		return err;
	}
	return queue_limits_set(mddev->gendisk->queue, &lim);
}