summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorJohn Garry <john.g.garry@oracle.com>2025-07-11 10:52:57 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-08-20 18:30:19 +0200
commitfc26f6f2e6517bad657485ac2cb697aad6f023d5 (patch)
treee3714c8f94f0371c33d0bd871068222f7320acb6 /drivers/md
parentbc255fec6fd7300b56c7adad5cb8482cd7cac81a (diff)
downloadlinux-fc26f6f2e6517bad657485ac2cb697aad6f023d5.tar.gz
linux-fc26f6f2e6517bad657485ac2cb697aad6f023d5.tar.bz2
linux-fc26f6f2e6517bad657485ac2cb697aad6f023d5.zip
dm-stripe: limit chunk_sectors to the stripe size
[ Upstream commit 5fb9d4341b782a80eefa0dc1664d131ac3c8885d ] Same as done for raid0, set chunk_sectors limit to appropriately set the atomic write size limit. Setting chunk_sectors limit in this way overrides the stacked limit already calculated based on the bottom device limits. This is ok, as when any bios are sent to the bottom devices, the block layer will still respect the bottom device chunk_sectors. Reviewed-by: Nilay Shroff <nilay@linux.ibm.com> Reviewed-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: John Garry <john.g.garry@oracle.com> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com> Link: https://lore.kernel.org/r/20250711105258.3135198-6-john.g.garry@oracle.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-stripe.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c
index 4112071de0be..c68dc1653cfd 100644
--- a/drivers/md/dm-stripe.c
+++ b/drivers/md/dm-stripe.c
@@ -459,6 +459,7 @@ static void stripe_io_hints(struct dm_target *ti,
struct stripe_c *sc = ti->private;
unsigned int chunk_size = sc->chunk_size << SECTOR_SHIFT;
+ limits->chunk_sectors = sc->chunk_size;
limits->io_min = chunk_size;
limits->io_opt = chunk_size * sc->stripes;
}