On 2020/07/21 19:54, Maxim Levitsky wrote: > This slightly changes the behavier of the driver, s/behavier/behavior > when given invalid block size (non power of two, or below 512 bytes), > but shoudn't matter. > > Signed-off-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx> > --- > 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; Not sure if this change is OK. Shouldn't the if here be kept as is and blk_is_valid_logical_block_size() called after it to check values lower than 4K ? -- Damien Le Moal Western Digital Research