On Thu, Feb 24, 2022 at 06:38:02PM +0900, Akihiko Odaki wrote: > Virtual I/O Device (VIRTIO) Version 1.1 > https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html > > discard_sector_alignment can be used by OS when splitting a request > > based on alignment. > > According to Documentation/ABI/stable/sysfs-block, the corresponding > field in the kernel is, confusingly, discard_granularity, not > discard_alignment. Good catch, struct virtio_blk_config->discard_sector_alignment is Linux q->limits.discard_granularity. > > Signed-off-by: Akihiko Odaki <akihiko.odaki@xxxxxxxxx> > --- > drivers/block/virtio_blk.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c > index c443cd64fc9b..1fb3c89900e3 100644 > --- a/drivers/block/virtio_blk.c > +++ b/drivers/block/virtio_blk.c > @@ -913,11 +913,9 @@ static int virtblk_probe(struct virtio_device *vdev) > blk_queue_io_opt(q, blk_size * opt_io_size); > > if (virtio_has_feature(vdev, VIRTIO_BLK_F_DISCARD)) { > - q->limits.discard_granularity = blk_size; > - > virtio_cread(vdev, struct virtio_blk_config, > discard_sector_alignment, &v); > - q->limits.discard_alignment = v ? v << SECTOR_SHIFT : 0; Should we use struct virtio_blk_config->topology.alignment_offset ("offset of first aligned logical block" and used for Linux blk_queue_alignment_offset()) for q->limits.discard_alignment?
Attachment:
signature.asc
Description: PGP signature