Date: Thu, 23 Jun 2011 12:10:12 GMT From: "Eugene M. Zheganin" <emz@norma.perm.ru> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/157534: [mpt] freeze when disk is removed/died from geom_mirror/zfs raid Message-ID: <201106231210.p5NCACks078006@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/157534; it has been noted by GNATS. From: "Eugene M. Zheganin" <emz@norma.perm.ru> To: bug-followup@FreeBSD.org, eugene@zhegan.in Cc: Subject: Re: kern/157534: [mpt] freeze when disk is removed/died from geom_mirror/zfs raid Date: Thu, 23 Jun 2011 17:42:12 +0600 The thing is, that after disk removal the controller sends two types of events: 0x12 and 0x16. According to the mpi_ioc.h the first is MPI_EVENT_SAS_PHY_LINK_STATUS and the second is MPI_EVENT_SAS_DISCOVERY. Furthermore, according to the kernel messages on the console during the drive removal/attaching, and the code in mpt_cam.c, mpt_cam_event() does nothing to handle these events (they both are handled by 'default:' section). I think this leads to freezing. Comparing to the linux mpt code, I can say that Linux kernel does nothing about MPI_EVENT_SAS_PHY_LINK_STATUS, but it definitely does something (which my skills are to low to understand to) about MPI_EVENT_SAS_DISCOVERY. Anyway, my skills are to low to correct this. IPKVM screenshots of drive removal and insertion (shot 1 - removal, shot 3 - insertion): http://unix.zhegan.in/files/mpt_cam_event01.jpeg http://unix.zhegan.in/files/mpt_cam_event02.jpeg http://unix.zhegan.in/files/mpt_cam_event03.jpeg
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106231210.p5NCACks078006>