Skip to content

Commit fbe8f2f

Browse files
bvanasscheYu Kuai
authored andcommitted
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: c6e56cf ("block: move integrity information into queue_limits") Signed-off-by: Bart Van Assche <bvanassche@acm.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/linux-raid/20250212171108.3483150-1-bvanassche@acm.org/ Signed-off-by: Yu Kuai <yukuai@kernel.org>
1 parent 96b531f commit fbe8f2f

File tree

3 files changed

+3
-9
lines changed

3 files changed

+3
-9
lines changed

drivers/md/raid0.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -386,10 +386,8 @@ static int raid0_set_limits(struct mddev *mddev)
386386
lim.io_opt = lim.io_min * mddev->raid_disks;
387387
lim.features |= BLK_FEAT_ATOMIC_WRITES;
388388
err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
389-
if (err) {
390-
queue_limits_cancel_update(mddev->gendisk->queue);
389+
if (err)
391390
return err;
392-
}
393391
return queue_limits_set(mddev->gendisk->queue, &lim);
394392
}
395393

drivers/md/raid1.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3219,10 +3219,8 @@ static int raid1_set_limits(struct mddev *mddev)
32193219
lim.max_write_zeroes_sectors = 0;
32203220
lim.features |= BLK_FEAT_ATOMIC_WRITES;
32213221
err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
3222-
if (err) {
3223-
queue_limits_cancel_update(mddev->gendisk->queue);
3222+
if (err)
32243223
return err;
3225-
}
32263224
return queue_limits_set(mddev->gendisk->queue, &lim);
32273225
}
32283226

drivers/md/raid10.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4020,10 +4020,8 @@ static int raid10_set_queue_limits(struct mddev *mddev)
40204020
lim.io_opt = lim.io_min * raid10_nr_stripes(conf);
40214021
lim.features |= BLK_FEAT_ATOMIC_WRITES;
40224022
err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
4023-
if (err) {
4024-
queue_limits_cancel_update(mddev->gendisk->queue);
4023+
if (err)
40254024
return err;
4026-
}
40274025
return queue_limits_set(mddev->gendisk->queue, &lim);
40284026
}
40294027

0 commit comments

Comments
 (0)