Page MenuHomeFreeBSD

vtblk: Requeue inside vtblk_request_execute
ClosedPublic

Authored by cperciva on Sep 22 2022, 7:00 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Apr 27, 9:34 PM
Unknown Object (File)
Thu, Apr 25, 1:51 AM
Unknown Object (File)
Fri, Apr 19, 11:28 PM
Unknown Object (File)
Thu, Apr 18, 5:25 AM
Unknown Object (File)
Wed, Apr 17, 3:41 AM
Unknown Object (File)
Tue, Apr 16, 6:53 AM
Unknown Object (File)
Feb 8 2024, 10:07 AM
Unknown Object (File)
Jan 30 2024, 4:18 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.