OSDN Git Service

dm-log-writes: set dma_alignment limit in io_hints
authorKeith Busch <kbusch@kernel.org>
Thu, 10 Nov 2022 18:45:01 +0000 (10:45 -0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 16 Nov 2022 22:58:11 +0000 (15:58 -0700)
This device mapper needs bio vectors to be sized and memory aligned to
the logical block size. Set the minimum required queue limit
accordingly.

Signed-off-by: Keith Busch <kbusch@kernel.org>
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Link: https://lore.kernel.org/r/20221110184501.2451620-6-kbusch@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/dm-log-writes.c

index 20fd688..178e13a 100644 (file)
@@ -875,6 +875,7 @@ static void log_writes_io_hints(struct dm_target *ti, struct queue_limits *limit
        limits->logical_block_size = bdev_logical_block_size(lc->dev->bdev);
        limits->physical_block_size = bdev_physical_block_size(lc->dev->bdev);
        limits->io_min = limits->physical_block_size;
+       limits->dma_alignment = limits->logical_block_size - 1;
 }
 
 #if IS_ENABLED(CONFIG_FS_DAX)