]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
CAM: Keep periph_links when restoring CCB in camperiphdone().
authorAlexander Motin <mav@FreeBSD.org>
Thu, 28 Apr 2022 01:39:50 +0000 (21:39 -0400)
committerAlexander Motin <mav@FreeBSD.org>
Thu, 28 Apr 2022 01:39:50 +0000 (21:39 -0400)
commit404f001161b975164d8b52d9f404d07ac7584027
tree64e9eaffece56ce3fad8636f09e04ef506f73a40
parent6fe78ad434557a713ebf5159ac6ac4052ef3da1c
CAM: Keep periph_links when restoring CCB in camperiphdone().

While recovery command executed, some other commands from the periph
may complete, that may affect periph_links of this CCB.  So restoring
original CCB we must keep current periph_links as more up to date.

I've found this triggering assertions with debug kernel and suspect
some memory corruptions otherwise when spun down disk receives two
or sometimes more concurrent requests.

MFC after: 1 week
Sponsored by: iXsystems, Inc.
sys/cam/cam_periph.c