Commit 1522b530 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'block-6.17-20250918' of git://git.kernel.dk/linux

Pull block fixes from Jens Axboe:
 "A set of fixes for an issue with md array assembly and drbd for
  devices supporting write zeros"

* tag 'block-6.17-20250918' of git://git.kernel.dk/linux:
  drbd: init queue_limits->max_hw_wzeroes_unmap_sectors parameter
  md: init queue_limits->max_hw_wzeroes_unmap_sectors parameter
parents 0d64ebf6 027a7a9c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1330,6 +1330,7 @@ void drbd_reconsider_queue_parameters(struct drbd_device *device,
		lim.max_write_zeroes_sectors = DRBD_MAX_BBIO_SECTORS;
	else
		lim.max_write_zeroes_sectors = 0;
	lim.max_hw_wzeroes_unmap_sectors = 0;

	if ((lim.discard_granularity >> SECTOR_SHIFT) >
	    lim.max_hw_discard_sectors) {
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ static int linear_set_limits(struct mddev *mddev)
	md_init_stacking_limits(&lim);
	lim.max_hw_sectors = mddev->chunk_sectors;
	lim.max_write_zeroes_sectors = mddev->chunk_sectors;
	lim.max_hw_wzeroes_unmap_sectors = mddev->chunk_sectors;
	lim.io_min = mddev->chunk_sectors << 9;
	err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
	if (err)
+1 −0
Original line number Diff line number Diff line
@@ -382,6 +382,7 @@ static int raid0_set_limits(struct mddev *mddev)
	md_init_stacking_limits(&lim);
	lim.max_hw_sectors = mddev->chunk_sectors;
	lim.max_write_zeroes_sectors = mddev->chunk_sectors;
	lim.max_hw_wzeroes_unmap_sectors = mddev->chunk_sectors;
	lim.io_min = mddev->chunk_sectors << 9;
	lim.io_opt = lim.io_min * mddev->raid_disks;
	lim.chunk_sectors = mddev->chunk_sectors;
+1 −0
Original line number Diff line number Diff line
@@ -3211,6 +3211,7 @@ static int raid1_set_limits(struct mddev *mddev)

	md_init_stacking_limits(&lim);
	lim.max_write_zeroes_sectors = 0;
	lim.max_hw_wzeroes_unmap_sectors = 0;
	lim.features |= BLK_FEAT_ATOMIC_WRITES;
	err = mddev_stack_rdev_limits(mddev, &lim, MDDEV_STACK_INTEGRITY);
	if (err)
+1 −0
Original line number Diff line number Diff line
@@ -4008,6 +4008,7 @@ static int raid10_set_queue_limits(struct mddev *mddev)

	md_init_stacking_limits(&lim);
	lim.max_write_zeroes_sectors = 0;
	lim.max_hw_wzeroes_unmap_sectors = 0;
	lim.io_min = mddev->chunk_sectors << 9;
	lim.chunk_sectors = mddev->chunk_sectors;
	lim.io_opt = lim.io_min * raid10_nr_stripes(conf);
Loading