From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrey Zhadchenko Date: Tue, 25 Aug 2026 15:51:47 +0300 Subject: [Devel] [PATCH VZ10 v3 0/5] vhost-blk: fix protocol handling and backend setup Message-ID: <20260825125152.259376-1-andrey.zhadchenko@virtuozzo.com> List-Id: This series fixes several vhost-blk bugs and harden some userspace interactions. First patch hardens VIRTIO_BLK_T_GET_ID. Leave the serial empty and copy the null terminator, just as QEMU. The second patch reports the correct used-ring length: the number of bytes written to the guest, including status. The third patch fixes flush. REQ_OP_FLUSH is not a valid bio op; use REQ_OP_WRITE | REQ_PREFLUSH as blkdev_issue_flush() does. The fourth patch fixes sector alignment checks. SECTOR_MASK is 7, not a bitmask, so the code was checking 8-byte alignment. Use IS_ALIGNED(val, SECTOR_SIZE). The last patch reworks queue/backend setup. vhost_blk_setup() silently ignored a changed vq->num once requests were allocated and double-fetched user input. Request allocation is now tied to backend existence, and drop_backend/flush/fput are consolidated. Reviewed-by: Vasileios Almpanis v2: - Fix patch fixing used-ring length: only include req->len in read requests. v3: - Changed alignment checks to IS_ALIGNED macro. Andrey Zhadchenko (5): drivers/vhost/blk: harden get_id command drivers/vhost/blk: report correct used-ring lengths drivers/vhost/blk: fix flush support drivers/vhost/blk: fix sector alignment calculation drivers/vhost/blk: rework queue/backend setup drivers/vhost/blk.c | 167 +++++++++++++++++++++----------------------- 1 file changed, 78 insertions(+), 89 deletions(-) -- 2.43.5