HomeFreeBSD

mps(4): Fix unmatched devq release.

Description

mps(4): Fix unmatched devq release.

Port 9781c28c6d63 and a8837c77efd0 to the mps driver. Before this
change devq was frozen only if some command was sent to the target after
reset started, but release was called always. This change freezes the
devq immediately, leaving mprsas_action_scsiio() check only to cover
race condition due to different lock devq use.

This should also avoid unnecessary requeue of the commands, creating
additional log noise and confusing some broken apps. It also avoids a
'busy' requeue of I/Os failing when we're doing recovery that takes
longer than the normal busy timeout. These I/Os failing can lead to
filesystems being unmounted in the force unmount case for I/O errors.

Sponsored by: Netflix
Reviewed by: mav
Differential Revision: https://reviews.freebsd.org/D33228

Details

Provenance
impAuthored on Dec 2 2021, 8:53 PM
Reviewer
mav
Differential Revision
D33228: mps(4): Fix unmatched devq release.
Parents
rG3cce6164ab9b: ip_input: remove pointless check in INP_RECVIF handling
Branches
Unknown
Tags
Unknown