]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Do not exit ctl_be_block_worker() prematurely.
authorAlexander Motin <mav@FreeBSD.org>
Sat, 6 Mar 2021 03:39:52 +0000 (22:39 -0500)
committerAlexander Motin <mav@FreeBSD.org>
Tue, 9 Mar 2021 02:47:22 +0000 (21:47 -0500)
commita3d416f3daafc59bc2f4ee278593c8a3f7a30d2b
treeb14cb5d489d2736df6a0e01adf32ef2dc512bba2
parent832d0719d6e5eb4ee2dec62f88ec79bfb617cd9d
Do not exit ctl_be_block_worker() prematurely.

Return while there are any I/Os in a queue may result in them stuck
indefinitely, since there is only one taskqueue task for all of them.
I think I've reproduced this by switching ha_role to secondary under
heavy load.

MFC after: 3 days

(cherry picked from commit 6ed39db2573bb808ac2c206cd6c831f0be86219c)
sys/cam/ctl/ctl_backend_block.c