[Devel] [PATCH VZ10 v2 0/7] vhost-blk: assortment of fixes

Andrey Zhadchenko andrey.zhadchenko at virtuozzo.com
Fri Jun 19 16:33:06 MSK 2026


This series mainly addresses the handling of failing requests.
Previously the driver will always retry all requests failed at
processing and will always complete the requests if they are
past bio submission point.

Using vhost-net and vhost-scsi as a model, we adopt the following
approach:
 - requests failed at processing phase with ENOMEM/EAGAIN are re-tried
 - requests failed at processing phase with other errors are not
reported completed and are not processed further. It is higly likely
they are just incorrect
 - requests failed at status write after the completion are not
reported completed

This may sometime lead to guests stalling, but the alternatives are
always worse.

v2:
 - drop one missed vhost_discard_vq_desc()
 - break and re-queue the handler instead of continuing when we
get EGAIN or ENOMEM

Also the patchset improves logging and adds a few sanity checks.
https://virtuozzo.atlassian.net/browse/VSTOR-134034

Andrey Zhadchenko (7):
  drivers/vhost/blk: fix uninitialized variable
  drivers/vhost/blk: better log errors in vhost-blk
  drivers/vhost/blk: improve request re-processing
  drivers/vhost/blk: improve vhostblk_vq_err() usage
  drivers/vhost/blk: do not complete requests with failed status write
  drivers/vhost/blk: fail request instead of BUG_ON()
  drivers/vhost/blk: ensure total request size

 drivers/vhost/blk.c | 52 +++++++++++++++++++++++++++++++--------------
 1 file changed, 36 insertions(+), 16 deletions(-)

-- 
2.43.5



More information about the Devel mailing list