[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240708091651.177447-1-john.g.garry@oracle.com>
Date: Mon, 8 Jul 2024 09:16:46 +0000
From: John Garry <john.g.garry@...cle.com>
To: axboe@...nel.dk, mst@...hat.com, jasowang@...hat.com,
xuanzhuo@...ux.alibaba.com, eperezma@...hat.com, pbonzini@...hat.com,
stefanha@...hat.com, hare@...e.de, kbusch@...nel.org, hch@....de
Cc: linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
virtualization@...ts.linux.dev, John Garry <john.g.garry@...cle.com>
Subject: [PATCH v2 0/5] Validate logical block size in blk_validate_limits()
This series adds validation of the logical block size in
blk_validate_limits().
Some drivers had already been validating this themselves. As such, we can
mostly drop that driver validation.
nbd is problematic, as we cannot only change to just stop calling
blk_validate_limits(). This is because the LBS is updated in a 2-stage
process:
a. update block size in the driver and validate
b. update queue limits
So if we stop validating the limits in a., there is a user-visible change
in behaviour (as we stop rejecting invalid limits from the NBD_SET_BLKSIZE
ioctl). So I left that untouched.
This topic was originally mentioned in [0] and then again in [1] by
Keith.
I have also included a related virtio_blk change to deal with
blk_size config fallback.
[0] https://lore.kernel.org/linux-block/10b3e3fe-6ad5-4e0e-b822-f51656c976ee@oracle.com/
[1] https://lore.kernel.org/linux-block/Zl4dxaQgPbw19Irk@kbusch-mbp.dhcp.thefacebook.com/
Differences to v1:
- Add RB tags (thanks!)
- Update comment on blk_validate_block_size() and add print in
blk_validate_limits()
John Garry (5):
virtio_blk: Fix default logical block size fallback
block: Validate logical block size in blk_validate_limits()
null_blk: Don't bother validating blocksize
virtio_blk: Don't bother validating blocksize
loop: Don't bother validating blocksize
block/blk-settings.c | 4 ++++
drivers/block/loop.c | 12 +-----------
drivers/block/null_blk/main.c | 3 ---
drivers/block/virtio_blk.c | 31 +++++++++++--------------------
include/linux/blkdev.h | 1 +
5 files changed, 17 insertions(+), 34 deletions(-)
--
2.31.1
Powered by blists - more mailing lists