Date: Mon, 13 Oct 2014 01:11:47 -0700 From: "K. Macy" <kmacy@freebsd.org> To: Steven Hartland <killing@multiplay.co.uk> Cc: Mark Martinec <Mark.Martinec+freebsd@ijs.si>, "freebsd-fs@FreeBSD.org" <freebsd-fs@freebsd.org>, FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: zfs pool import hangs on [tx->tx_sync_done_cv] Message-ID: <CAHM0Q_OpV2sAQQAH6Cj_=yJWAOt8pTPWQ-m45JSiXDpBwT6WTA@mail.gmail.com> In-Reply-To: <6E01BBEDA9984CCDA14F290D26A8E14D@multiplay.co.uk> References: <54372173.1010100@ijs.si> <644FA8299BF848E599B82D2C2C298EA7@multiplay.co.uk> <54372EBA.1000908@ijs.si> <DE7DD7A94E9B4F1FBB3AFF57EDB47C67@multiplay.co.uk> <543731F3.8090701@ijs.si> <543AE740.7000808@ijs.si> <A5BA41116A7F4B23A9C9E469C4146B99@multiplay.co.uk> <CAHM0Q_N%2BC=3qgUnyDkEugOFcL=J8gBjbTg8v45Vz3uT=e=Fn2g@mail.gmail.com> <6E01BBEDA9984CCDA14F290D26A8E14D@multiplay.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Oct 13, 2014 at 1:06 AM, Steven Hartland <killing@multiplay.co.uk> wrote: > ----- Original Message ----- From: "K. Macy" <kmacy@freebsd.org> > > A recent quick read of the code would lead me to believe that zio_wait not >> returning there means that the zio never reached the zio_done stage. >> Parent >> zios seem to yield in a couple of stages in the pipeline if they have >> incomplete children. They determine this by calling zio_wait_for_children >> with zio child types and their corresponding wait type. In so doing they >> set the io_stall to the count of the number of waiters of the first >> non-zero check. This parent I/O will be resumed by the last child zio of >> that type and wait state in zio_notify_parent. I'm sure you know all this >> - >> but I wrote it to preface asking for the following fields of the zio being >> waited on in dsl_pool_sync_mos: io_stall (i.e, which field in io_children >> is pointed to) *io_stall, io_children[*][*], io_child_list (at a first >> glance just the addresses). The other alternative is that it reexecuting >> has gotten in to a bad place in the state machine so io_reexecute. >> > > Yer I would have got the zio details but typically its "optimised out" by > the > compiler, so will need some effort to track that down unfortunately :( > Well, let me know if you can. Re-creating a new 10.x VM is taking a while as it's taking me forever to checkout the sources. Things like that need to somehow continue to be accessible. Cheers. -K
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_OpV2sAQQAH6Cj_=yJWAOt8pTPWQ-m45JSiXDpBwT6WTA>