Page MenuHomeFreeBSD

vtblk: Requeue inside vtblk_request_execute
ClosedPublic

Authored by cperciva on Sep 22 2022, 7:00 AM.
Tags
None
Referenced Files
F86824110: D36665.id110839.diff
Wed, Jun 26, 3:34 AM
Unknown Object (File)
Mon, Jun 24, 12:55 AM
Unknown Object (File)
Fri, Jun 21, 4:10 AM
Unknown Object (File)
Mon, Jun 17, 1:23 AM
Unknown Object (File)
May 9 2024, 11:41 PM
Unknown Object (File)
May 9 2024, 11:41 PM
Unknown Object (File)
May 9 2024, 11:41 PM
Unknown Object (File)
May 9 2024, 11:28 PM
Subscribers

Details

Summary

Most virtio_blk requests are launched from vtblk_startio; prior to this
commit, if vtblk_request_execute failed (e.g. due to a lack of space on
the virtio queue) vtblk_startio would requeue the request to be
reattempted later.

Add a flag "vbr_requeue_on_error" to requests and perform the requeuing
from inside vtblk_request_execute instead.

No functional change intended.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Oct 3 2022, 3:19 AM
imp added inline comments.
sys/dev/virtio/block/virtio_blk.c
1139

One can quibble over whether we should transition to bool for these, but the driver already has a few in the old-style.

This revision was automatically updated to reflect the committed changes.