Date: Thu, 07 May 2015 09:41:43 +0100 From: Steven Hartland <killing@multiplay.co.uk> To: freebsd-stable@freebsd.org Subject: Re: zfs, cam sticking on failed disk Message-ID: <554B2547.1090307@multiplay.co.uk> In-Reply-To: <20150507080749.GB1394@zxy.spb.ru> References: <20150507080749.GB1394@zxy.spb.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On 07/05/2015 09:07, Slawa Olhovchenkov wrote: > I have zpool of 12 vdev (zmirrors). > One disk in one vdev out of service and stop serving reuquest: > > dT: 1.036s w: 1.000s > L(q) ops/s r/s kBps ms/r w/s kBps ms/w %busy Name > 0 0 0 0 0.0 0 0 0.0 0.0| ada0 > 0 0 0 0 0.0 0 0 0.0 0.0| ada1 > 1 0 0 0 0.0 0 0 0.0 0.0| ada2 > 0 0 0 0 0.0 0 0 0.0 0.0| ada3 > 0 0 0 0 0.0 0 0 0.0 0.0| da0 > 0 0 0 0 0.0 0 0 0.0 0.0| da1 > 0 0 0 0 0.0 0 0 0.0 0.0| da2 > 0 0 0 0 0.0 0 0 0.0 0.0| da3 > 0 0 0 0 0.0 0 0 0.0 0.0| da4 > 0 0 0 0 0.0 0 0 0.0 0.0| da5 > 0 0 0 0 0.0 0 0 0.0 0.0| da6 > 0 0 0 0 0.0 0 0 0.0 0.0| da7 > 0 0 0 0 0.0 0 0 0.0 0.0| da8 > 0 0 0 0 0.0 0 0 0.0 0.0| da9 > 0 0 0 0 0.0 0 0 0.0 0.0| da10 > 0 0 0 0 0.0 0 0 0.0 0.0| da11 > 0 0 0 0 0.0 0 0 0.0 0.0| da12 > 0 0 0 0 0.0 0 0 0.0 0.0| da13 > 0 0 0 0 0.0 0 0 0.0 0.0| da14 > 0 0 0 0 0.0 0 0 0.0 0.0| da15 > 0 0 0 0 0.0 0 0 0.0 0.0| da16 > 0 0 0 0 0.0 0 0 0.0 0.0| da17 > 0 0 0 0 0.0 0 0 0.0 0.0| da18 > 24 0 0 0 0.0 0 0 0.0 0.0| da19 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > 0 0 0 0 0.0 0 0 0.0 0.0| da20 > 0 0 0 0 0.0 0 0 0.0 0.0| da21 > 0 0 0 0 0.0 0 0 0.0 0.0| da22 > 0 0 0 0 0.0 0 0 0.0 0.0| da23 > 0 0 0 0 0.0 0 0 0.0 0.0| da24 > 0 0 0 0 0.0 0 0 0.0 0.0| da25 > 0 0 0 0 0.0 0 0 0.0 0.0| da26 > 0 0 0 0 0.0 0 0 0.0 0.0| da27 > > As result zfs operation on this pool stoped too. > `zpool list -v` don't worked. > `zpool detach tank da19` don't worked. > Application worked with this pool sticking in `zfs` wchan and don't killed. > > # camcontrol tags da19 -v > (pass19:isci0:0:3:0): dev_openings 7 > (pass19:isci0:0:3:0): dev_active 25 > (pass19:isci0:0:3:0): allocated 25 > (pass19:isci0:0:3:0): queued 0 > (pass19:isci0:0:3:0): held 0 > (pass19:isci0:0:3:0): mintags 2 > (pass19:isci0:0:3:0): maxtags 255 > > How I can cancel this 24 requst? > Why this requests don't timeout (3 hours already)? > How I can forced detach this disk? (I am lready try `camcontrol reset`, `camconrol rescan`). > Why ZFS (or geom) don't timeout on request and don't rerouted to da18? > If they are in mirrors, in theory you can just pull the disk, isci will report to cam and cam will report to ZFS which should all recover. With regards to not timing out this could be a default issue, but having a very quick look that's not obvious in the code as isci_io_request_construct etc do indeed set a timeout when CAM_TIME_INFINITY hasn't been requested. The sysctl hw.isci.debug_level may be able to provide more information, but be aware this can be spammy. Regards Steve
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?554B2547.1090307>