On Wed, Nov 07, 2007 at 07:41:54AM -0700, Mark Maybee wrote: > Hmm, seems rather unlikely that these two IOs are related. Thread 1 > is trying to read a dnode in order to extract the znode data from its > bonus buffer. Thread 2 is completing a dmu_sync() write (so this is > the result of a zil operation). While its possible that the dmu_sync() > write may involve reading some of the blocks in the dnode from Thread 1, > this should not result in Thread 1 waiting for anything.
Maybe my interpretation is wrong, but moving this VN_RELE() to separate kernel thread for later fixes deadlock for me. > I think vdev_mirror_io_done() often shows up in the stack because the > ditto-ing code leverages that code path. Ahh, ok. -- Pawel Jakub Dawidek http://www.wheel.pl pjd at FreeBSD.org http://www.FreeBSD.org FreeBSD committer Am I Evil? Yes, I Am! -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 187 bytes Desc: not available URL: <http://mail.opensolaris.org/pipermail/zfs-code/attachments/20071107/5abf0aa6/attachment.bin>