Re: zfs: Fatal trap 12: page fault while in kernel mode

From: Andriy Gapon <avg_at_freebsd.org>
Date: Thu, 30 Jul 2009 15:11:47 +0300
on 29/07/2009 21:04 Thomas Backman said the following:
> Thanks for your work :)
> However, bad news: it didn't help. It *might* have gotten us further,
> though, because the DDB backtrace now looks like this:
> 
> _sx_xlock_hard()
> _sx_xlock()
> zfs_znode_free()
> zfs_freebsd_inactive()
> VOP_INACTIVE_APV()
> vinactive()
> vput()
> dounmount()
> unmount()
> syscall()
> XFast_syscall()
> 

Oh my bad. I missed the fact that recycle would do zfs_znode_free, so it seems
like zfs_znode_free was called twice on the same znode.
Could you please try replacing
	zfs_znode_free(zp);
with
	vrecycle(vp, curthread);
in the same block (instead of adding the latter before the former).
Sorry, if this looks like shooting in the dark - because this is what it is. I am
not familiar with the code and it's hard to follow all possibilities without good
understanding.

-- 
Andriy Gapon
Received on Thu Jul 30 2009 - 10:11:52 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC