Page MenuHomeFreeBSD

vtblk: Requeue inside vtblk_request_execute
ClosedPublic

Authored by cperciva on Sep 22 2022, 7:00 AM.
Tags
None
Referenced Files
F97645200: D36665.id.diff
Mon, Sep 30, 1:42 PM
F97643365: D36665.id111899.diff
Mon, Sep 30, 1:32 PM
F97643310: D36665.id110839.diff
Mon, Sep 30, 1:31 PM
Unknown Object (File)
Mon, Sep 30, 12:43 AM
Unknown Object (File)
Fri, Sep 27, 5:43 PM
Unknown Object (File)
Wed, Sep 25, 9:14 AM
Unknown Object (File)
Tue, Sep 24, 11:11 PM
Unknown Object (File)
Sun, Sep 22, 5:46 AM
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
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 47486
Build 44373: arc lint + arc unit

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.