HomeFreeBSD

CAM: Keep periph_links when restoring CCB in camperiphdone().

Description

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.

Approved by: so
Security: FreeBSD-EN-22:17.cam
MFC after: 1 week
Sponsored by: iXsystems, Inc.

(cherry picked from commit 404f001161b975164d8b52d9f404d07ac7584027)
(cherry picked from commit 8dab6aba5f6ee635e4ff3f313d0209af718ea42f)

Details

Provenance
mavAuthored on Apr 28 2022, 1:39 AM
markjCommitted on Jul 25 2022, 8:06 PM
Parents
rG38a360a502db: Add UPDATING entries and bump version.
Branches
Unknown
Tags
Unknown