This slightly changes the behavier of the driver,
when given invalid block size (non power of two, or below 512 bytes),
but shoudn't matter.

Signed-off-by: Maxim Levitsky <mlevi...@redhat.com>
---
 drivers/block/null_blk_main.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
index 87b31f9ca362e..e4df4b903b90b 100644
--- a/drivers/block/null_blk_main.c
+++ b/drivers/block/null_blk_main.c
@@ -1684,8 +1684,8 @@ static int null_init_tag_set(struct nullb *nullb, struct 
blk_mq_tag_set *set)
 
 static int null_validate_conf(struct nullb_device *dev)
 {
-       dev->blocksize = round_down(dev->blocksize, 512);
-       dev->blocksize = clamp_t(unsigned int, dev->blocksize, 512, 4096);
+       if (!blk_is_valid_logical_block_size(dev->blocksize))
+               return -ENODEV;
 
        if (dev->queue_mode == NULL_Q_MQ && dev->use_per_node_hctx) {
                if (dev->submit_queues != nr_online_nodes)
@@ -1865,7 +1865,7 @@ static int __init null_init(void)
        struct nullb *nullb;
        struct nullb_device *dev;
 
-       if (g_bs > PAGE_SIZE) {
+       if (!blk_is_valid_logical_block_size(g_bs)) {
                pr_warn("invalid block size\n");
                pr_warn("defaults block size to %lu\n", PAGE_SIZE);
                g_bs = PAGE_SIZE;
-- 
2.26.2

Reply via email to