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
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.