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>

Reply via email to