[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