max_integrity_segments is just a hardware/driver limit and can be safely
set even when integrity data is not supported.  Set it in the initial
queue_limits passed to blk_alloc_disk to simplify the driver.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 drivers/nvdimm/btt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvdimm/btt.c b/drivers/nvdimm/btt.c
index 8e855b4e3e383a..1e5aedaf8c7bd9 100644
--- a/drivers/nvdimm/btt.c
+++ b/drivers/nvdimm/btt.c
@@ -1500,6 +1500,7 @@ static int btt_blk_init(struct btt *btt)
        struct queue_limits lim = {
                .logical_block_size     = btt->sector_size,
                .max_hw_sectors         = UINT_MAX,
+               .max_integrity_segments = 1,
        };
        int rc;
 
@@ -1521,7 +1522,6 @@ static int btt_blk_init(struct btt *btt)
                        .tag_size       = btt_meta_size(btt),
                };
                blk_integrity_register(btt->btt_disk, &bi);
-               blk_queue_max_integrity_segments(btt->btt_disk->queue, 1);
        }
 
        set_capacity(btt->btt_disk, btt->nlba * btt->sector_size >> 9);
-- 
2.39.2


Reply via email to