On Mon, Sep 30, 2024 at 06:45:23PM -0700, Daniel Verkamp wrote: > From my point of view, it would be fine to clarify a few things: > - blk_size should (not must) be the logical block size of the > underlying storage device > - data should (not must) be a multiple of blk_size for best performance > > And maybe: > - devices may choose to return IOERR if a driver submits an I/O > request that does not conform to the above recommendations (but this > conflicts with the "performance"-related wording that exists now) QEMU's virtio-blk implementation returns IOERR when the driver submits VIRTIO_BLK_T_IN/VIRTIO_BLK_T_OUT requests that are not aligned to the logical block size: https://gitlab.com/qemu-project/qemu/-/blob/master/hw/block/virtio-blk.c#L367 Although I interpret the virtio-blk spec in the same way as you (blk_size is just a hint for optimal performance), I guess in practice drivers align requests to blk_size. Adding a note that devices may return IOERR is worthwhile. It will tell driver authors not to expect device implementations to accept misaligned requests. Stefan
Attachment:
signature.asc
Description: PGP signature