[Bug 263704] Panic because device went away with XPT_ATA_IO pending
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 263704] Panic because device went away with XPT_ATA_IO pending"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 04 May 2022 03:23:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263704 Warner Losh <imp@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|New |In Progress Assignee|bugs@FreeBSD.org |imp@FreeBSD.org --- Comment #1 from Warner Losh <imp@FreeBSD.org> --- On further examination, it appears to be a bug in the dynamic I/O scheduler. We can call xpt_schedule(CAM_PRI_NORMAL) during recovery which causes all existing periphs that use it to schedule their recovery operation a second time, but at a bad priority. It has nothing to do with dropping references to the device, but rather causing extra I/O to be scheduled that can persist after the periph is invalidated (because the periph driver knows nothing of the extra CCBs) leading to accessing the path after it's been freed which leads to a number of different pathologies depending on where in the CCB lifecycle we wakeup. It only affects the dynamic scheduler (all the time, but that points out another bug, the timeout ticker shouldn't run all the time if there's nothing to be controlled like bandwidth or iops). -- You are receiving this mail because: You are the assignee for the bug.