]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Hold the reference count until the CCB is released
authorimp <imp@FreeBSD.org>
Tue, 15 May 2018 22:22:10 +0000 (22:22 +0000)
committerimp <imp@FreeBSD.org>
Tue, 15 May 2018 22:22:10 +0000 (22:22 +0000)
commitf39d874a4bfbbdea77667de56e1ff86be5de5850
tree854593f246b5027d52b61e515bd4e8b8dfcf208f
parent72f672768b108e0cbffad44b24c5f37e6e102ac8
Hold the reference count until the CCB is released

When a disk disappears and the periph is invalidated, any I/Os that
are pending with the controller can cause a crash when they
complete. Move to holding the softc reference count taken in dastart()
until the I/O is complete rather than only until xpt_action()
returns. (This approach was suggested by Ken Merry.) This extends
the method used in da to ada, nda, and mda.

Sponsored by: Netflix
Submitted by: Chuck Silvers
sys/cam/ata/ata_da.c
sys/cam/mmc/mmc_da.c
sys/cam/nvme/nvme_da.c