block: remove the discard_alignment flag
authorChristoph Hellwig <hch@lst.de>
Wed, 19 Jun 2024 15:45:37 +0000 (17:45 +0200)
committerJens Axboe <axboe@kernel.dk>
Thu, 20 Jun 2024 12:53:14 +0000 (06:53 -0600)
queue_limits.discard_alignment is never read except in the places
where it is stacked into another limit.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20240619154623.450048-6-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-settings.c
drivers/md/dm-cache-target.c
drivers/md/dm-clone-target.c
drivers/md/dm-table.c
include/linux/blkdev.h

index a1b1040..62588d9 100644 (file)
@@ -578,16 +578,6 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b,
        if (b->discard_granularity) {
                alignment = queue_limit_discard_alignment(b, start);
 
-               if (t->discard_granularity != 0 &&
-                   t->discard_alignment != alignment) {
-                       top = t->discard_granularity + t->discard_alignment;
-                       bottom = b->discard_granularity + alignment;
-
-                       /* Verify that top and bottom intervals line up */
-                       if ((max(top, bottom) % min(top, bottom)) != 0)
-                               t->discard_misaligned = 1;
-               }
-
                t->max_discard_sectors = min_not_zero(t->max_discard_sectors,
                                                      b->max_discard_sectors);
                t->max_hw_discard_sectors = min_not_zero(t->max_hw_discard_sectors,
index 16884b5..2d8dd92 100644 (file)
@@ -3403,7 +3403,6 @@ static void set_discard_limits(struct cache *cache, struct queue_limits *limits)
        limits->max_hw_discard_sectors = origin_limits->max_hw_discard_sectors;
        limits->discard_granularity = origin_limits->discard_granularity;
        limits->discard_alignment = origin_limits->discard_alignment;
-       limits->discard_misaligned = origin_limits->discard_misaligned;
 }
 
 static void cache_io_hints(struct dm_target *ti, struct queue_limits *limits)
index ad79b52..b4384a8 100644 (file)
@@ -2059,7 +2059,6 @@ static void set_discard_limits(struct clone *clone, struct queue_limits *limits)
        limits->max_hw_discard_sectors = dest_limits->max_hw_discard_sectors;
        limits->discard_granularity = dest_limits->discard_granularity;
        limits->discard_alignment = dest_limits->discard_alignment;
-       limits->discard_misaligned = dest_limits->discard_misaligned;
        limits->max_discard_segments = dest_limits->max_discard_segments;
 }
 
index df6313c..502ebc7 100644 (file)
@@ -1808,7 +1808,6 @@ int dm_table_set_restrictions(struct dm_table *t, struct request_queue *q,
                limits->max_hw_discard_sectors = 0;
                limits->discard_granularity = 0;
                limits->discard_alignment = 0;
-               limits->discard_misaligned = 0;
        }
 
        if (!dm_table_supports_write_zeroes(t))
index 7ad2b12..86410ce 100644 (file)
@@ -377,7 +377,6 @@ struct queue_limits {
        unsigned short          max_integrity_segments;
        unsigned short          max_discard_segments;
 
-       unsigned char           discard_misaligned;
        unsigned char           raid_partial_stripes_expensive;
        unsigned int            max_open_zones;
        unsigned int            max_active_zones;